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, 2019 at 12:09

2 Answers 2


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.


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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .