Downgrading app on android 12

I want to install a way old version of google maps. 6.14 apk. When I try to install the normal way, it says You can’t install this app on your device. I think I am running into a downgrade block.

I found this to try. It says "When you are installing via adb, you can pass -d to allow version downgrade

adb install -d -r your.apk

-r will also replace existing app"

I am going to try this. If anyone knows, let me know hehe.

  1. First try install via adb resulted in Failure [INSTALL_FAILED_VERSION_DOWNGRADE: Package Verification Result]

  2. adb install -d -r “C:\Users\inetp\Desktop\Pixel 4 xl\platform-tools\com.google.android.apps.maps_6.14.4-614040003_minAPI8(320dpi)_apkmirror.com.apk”
    Performing Streamed Install
    adb: failed to install C:\Users\inetp\Desktop\Pixel 4 xl\platform-tools\com.google.android.apps.maps_6.14.4-614040003_minAPI8(320dpi)_apkmirror.com.apk: Failure [-26: Package com.google.android.apps.maps new target SDK 14 doesn’t support runtime permissions but the old target SDK 31 does.]

  3. install -rd “C:\Users\inetp\Desktop\Pixel 4 xl\platform-tools\com.google.android.apps.maps_6.14.4-614040003_minAPI8(320dpi)_apkmirror.com.apk”
    Performing Streamed Install
    adb: failed to install C:\Users\inetp\Desktop\Pixel 4 xl\platform-tools\com.google.android.apps.maps_6.14.4-614040003_minAPI8(320dpi)_apkmirror.com.apk:
    Exception occurred while executing ‘install’:
    java.lang.IllegalArgumentException: No argument expected after “-rd”
    at com.android.modules.utils.BasicShellCommandHandler.getNextOption(BasicShellCommandHandler.java:213)
    at com.android.server.pm.PackageManagerShellCommand.makeInstallParams(PackageManagerShellCommand.java:2763)
    at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:1303)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShe
    C:\Users\inetp\Desktop\Pixel 4 xl\platform-tools>

Google maps doesn’t require much google support- it will work on a phone without google services, so you could build aosp/lineage/proton/graphene/etc and install the older version of maps on it.

For stock phones, the issue is that google maps has the same java package name for both versions. I haven’t tried it, but you could try to decompile maps, change the package name, and then recompile/sign it. It should install if the package names are different, although I’m not 100% sure it will decompile properly without breaking something. I’m also not sure if the runtime permissions are a hard requirement for android 12.

Lastly, rooting your phone might allow you to install it, but I don’t know much about that.

1 Like

Google most likely dropped the API 14 support in Android 12 to reduce issues and improve security so that’s why it’s not installing. Not all the new Android version support the same level of API as the old ones do.

1 Like

Weird. So I uninstalled Google maps entirely street view and anything I can find that’s related as far as I know. I just can’t get the old version to install

Do you see anyway it can be done? I am rooted

I’m going to try this

If support for an older API has been dropped there’s no way to get it back. Maybe it could be possible if you compiled your own Android version with a kernel with backwards compatibility. But I’m not really sure about that either.

1 Like

If you can decompile it successfully you could try to change the target API and add some permissions to the manifest. I don’t believe you need to program in permission Dialogs as you can do that in the system settings too (all be it less user friendly).

Though… Runtime permissions from what I can find are API 23 if they where deprecating as many APIs back then as they are now that will be the least of your problems.

1 Like

I made a little app back in the day that changed colors when you touch the screen but I was taking a class. I’m definitely not an advanced person when it comes to all this but I kind of understand what everybody’s saying. If I can figure out how to update the API I do think it’ll work