adb - How to reinstall an app, without retaining the data?

65,408

Solution 1

Before the installation clean the data like this:

adb shell pm clear com.package.foo

then you can install normally using:

adb install foo.apk

or just run through your IDE

Solution 2

Try adb uninstall yourpackage.whatever.com, then install again. Or select Clear data on the phone for that application.

Solution 3

It's adb uninstall com.package.foo && adb install foo.apk, however the uninstall won't work if the app is a system app, which can't be uninstalled. There's the command adb shell pm clear packageName to clear a certain app's data, however it may require root. To reinstall the apk as usual adb install -r app.apk

Solution 4

adb install [-l] [-t] [-r] [-s] <file> - push this package file to the 
   device and install it
   ('-t' uses for install debug apk)
   ('-l' means forward-lock the app)
   ('-r' means reinstall the app, keeping its data)
   ('-s' means install on SD card instead of internal storage)

adb uninstall [-k] <package> - remove this app package from the device
   ('-k' means keep the data and cache directories)

If you want to install debug.apk file without clear the data:

adb install -t -r D:/debug.apk

If you want to install debug.apk file with clear the data:

adb shell pm clear com.package.app
adb install -t D:/debug.apk

And to start the app on Device via adb command:

adb shell am start -n com.package.app/com.package.app.activity.MainActivity

Solution 5

No. There is no (documented) way to do that with the adb install command. Instead, you should do this:

adb uninstall com.your.package
adb install foo.apk
Share:
65,408
SatheeshJM
Author by

SatheeshJM

merge keep

Updated on November 02, 2020

Comments

  • SatheeshJM
    SatheeshJM over 3 years
    adb install foo.apk
    

    When using this command, if the apk exists, I should get the error *Failure [INSTALL_FAILED_ALREADY_EXISTS]*

     adb install -r myapp-release.apk
    

    In this case,the existing apk will be replaced, by retaining old data according to the docs,

    '-r' means reinstall the app, keeping its data

    Now how do I reinstall the app, but all previous data should be erased?

    EDIT

    I know we can do this

    adb uninstall com.package.foo & adb install foo.apk
    

    I just wanted to know if there is a command or something in adb itself.

  • SatheeshJM
    SatheeshJM over 11 years
    actually it should be adb uninstall com.foo.foo I just wanted to know if there was a some command in adb itself
  • rogers.wang
    rogers.wang almost 4 years
    adb install -t -r D:/debug.apk work for me, my phone is pixel, thank you very much.
  • Pyzard
    Pyzard over 3 years
    Thanks, for some reason, whenever I ran adb install something.apk adb outputted Performing Streamed Install and then Success but the APK wouldn't get installed on my phone. After I ran adb uninstall bundle.id.something, adb install started working.