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

AndroidApkAdbCommand Prompt

Android Problem Overview


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.

Android Solutions


Solution 1 - Android

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 - Android

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

Solution 3 - Android

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 - Android

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 - Android

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSatheeshJMView Question on Stackoverflow
Solution 1 - AndroidRyan AmaralView Answer on Stackoverflow
Solution 2 - AndroidAlexander KulyakhtinView Answer on Stackoverflow
Solution 3 - AndroidSmeterlinkView Answer on Stackoverflow
Solution 4 - AndroidNickUnuchekView Answer on Stackoverflow
Solution 5 - AndroidSam DozorView Answer on Stackoverflow