Well, simple. I want to downgrade an app that has been accidentally updated. I've already read this question but it didn't provide me with a straight instruction. I have the APK I want to downgrade to so that question is unhelpful to me. It's not a test package (saved from Google Play) so option -t doesn't make sense.

Things I've tried so far:

  • Run in a terminal (with root)

    pm install -r -d old.apk
  • Use adb on a computer

    adb install -r -d /path/to/old.apk
  • Brutally replace the apk in /data/app and manually run dex2oat to force compile it

All of above were to no avail. So I'm quite bothered about this.

I don't want an answer telling me uninstall the new app, then install the old one. I want to retain app data without backing up.

  • What happens when you try any of the above? Do you get an error message, or does the upgrade simply stay around? – user149408 Oct 9 '19 at 12:09

This installs the old version without removing the new one: adb install -r -d /path/to/old.apk

The -d flag is to allow a downgrade. -t allows test packages.

You can also uninstall the application, then install the old apk. This may be necessary, for example, if the application data has changed format in the new version and is not backwards compatible.

| improve this answer | |

Use a backup app like oandbackup:

  • Back up application data
  • Uninstall the app
  • Install the older version
  • Restore data (not the APK) with oandbackup
  • If necessary, force stop the app once (from Settings > Apps) so it will work with the restored data.

Caveat: if the upgraded version of your app has changed its data format in a way that is not backwards-compatible, there’s no easy way to go back. You would have to figure out a way to convert the data back to the old format.

| improve this answer | |

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.