2

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.

Miuzu
  • 31
  • 2
  • 2
    If your device is not rooted you can simply perform a factory reset and all apps will be there again. – Robert Jun 16 '21 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 '21 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 '21 at 20:07
  • I've already tried it, and as stated in the post it gives me "Error: java.lang.SecurityException: Permission Denial: attempt to change component state from pid=3298, uid=2000, package uid=10074" error message. Doing it through phone and not adb doesn't work either, because it shows the app as being enabled, and disabling it resets it to factory state which does not function because of the same "Not installed for this user" message. – Miuzu Jun 16 '21 at 20:30
  • 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 '21 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 '21 at 22:42

0 Answers0