I've got Coolpad Porto S, which is running Android 5.1. The apps I have been trying to reinstall were com.android.vending and com.google.android.webview (I don't have concrete evidence but after uninstalling it I am unable to access any browser application like duckduckgo or even steam) by using "pm uninstall -k --user 0 APP".

I've been trying to install those back using apks I got from apkmirror, but if I do through my phone or through adb they appear in the app list as "Downloaded", however they're also "Not installed for this user". I tried installing them through using "adb install -r app.apk" command, then going into "adb shell" mode and using "pm install -r --user 0 app.apk", but still same result. If I don't use the -r option, it just gives me INSTALL_FAILED_ALREADY_EXISTS error.

If it helps, upon doing "pm enable --user 0 com.android.vending" it gives me "Error: java.lang.SecurityException: Permission Denial: attempt to change component state from pid=4418, uid=2000, package uid=10015" error.

My phone is not rooted. Anyone got any ideas?

Edit: After tinkering about for a bit, I am still having a ton of issues with doing that. If it helps, I found the base apk location for the webview app. It didn't work trying to "pm install -r --user 0 directory", because INSTALL_FAILED_DEXOPT, but I managed to get the crash in logcat.

E/installd(  263): DexInv: --- END '/data/app/com.google.android.webview-1/base.apk' --- status=0x0100, process failed
I/PackageManager(  777): Dexopt done on: com.google.android.webview
W/PackageManager(  777): Package couldn't be installed in /data/app/com.google.android.webview-1
W/PackageManager(  777): com.android.server.pm.PackageManagerException: scanPackageLI
W/PackageManager(  777):        at com.android.server.pm.PackageManagerService.scanPackageDirtyLI(PackageManagerService.java:6343)
W/PackageManager(  777):        at com.android.server.pm.PackageManagerService.scanPackageLI(PackageManagerService.java:5635)
W/PackageManager(  777):        at com.android.server.pm.PackageManagerService.replaceSystemPackageLI(PackageManagerService.java:11107)
W/PackageManager(  777):        at com.android.server.pm.PackageManagerService.replacePackageLI(PackageManagerService.java:10917)
W/PackageManager(  777):        at com.android.server.pm.PackageManagerService.installPackageLI(PackageManagerService.java:11432)
W/PackageManager(  777):        at com.android.server.pm.PackageManagerService.access$2800(PackageManagerService.java:248)
W/PackageManager(  777):        at com.android.server.pm.PackageManagerService$6.run(PackageManagerService.java:9278)
W/PackageManager(  777):        at android.os.Handler.handleCallback(Handler.java:815)
W/PackageManager(  777):        at android.os.Handler.dispatchMessage(Handler.java:104)
W/PackageManager(  777):        at android.os.Looper.loop(Looper.java:194)
W/PackageManager(  777):        at android.os.HandlerThread.run(HandlerThread.java:61)
W/PackageManager(  777):        at com.android.server.ServiceThread.run(ServiceThread.java:46)
D/PackageParser(  777): isGmoROM() return false
I/PackageManager(  777): Linking native library dir for /system/app/WebViewGoogle
I/PackageManager(  777): Perform pre-dex opt for package: com.google.android.webview
I/PackageManager(  777): Installation done for package: null
V/PackageManager(  777): + starting restore round-trip 20
V/PackageManager(  777): No restore - queue post-install for 20
V/PackageManager(  777): Handling post-install for 20
I/art     (  777): Explicit concurrent mark sweep GC freed 28070(2MB) AllocSpace objects, 23(1188KB) LOS objects, 14% free, 22MB/26MB, paused 1.836ms total 161.529ms
I/art     ( 9195): System.exit called, status: 1
I/AndroidRuntime( 9195): VM exiting with result code 1.

Not sure if it helps, but here it is.

  • 2
    If your device is not rooted you can simply perform a factory reset and all apps will be there again. – Robert Jun 16 at 19:47
  • Yeah I would do that, however I am more looking for a way to do this without factory resetting my device since I do have some applications (for example, bank authentication) that can't be easily reinstalled after factory reset. – Miuzu Jun 16 at 20:05
  • Instead of re-installing you can just try to re-enable them. Both should be system apps that can not be deleted from your device thus you can not uninstall them just disable. – Robert Jun 16 at 20:07
  • 1
    pm install-existing com.google.android.webview – the APKs are still on the device, you just made them unavailable to the specified user. – Izzy Jun 16 at 22:20
  • 1
    Doesn't work, it doesn't recognize install-existing. I'm pretty sure you've meant "cmd install-existing com.google.android.webview", but that feature is, as far as I'm aware, only usable with android 7.0+, and my android version is 5.1. – Miuzu Jun 16 at 22:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.