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

5

52
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.

Gigantes answered 18/9, 2012 at 19:31 Comment(1)
hi , i try : adb install -r myapp-release.apk But I cant Update app , i want update the app without creare data , do you know solotion ?Tonl
L
45

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

Lenhard answered 27/6, 2013 at 11:26 Comment(0)
K
13

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

Kathaleenkatharevusa answered 18/9, 2012 at 19:35 Comment(1)
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.Quarantine
D
12
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
Damned answered 2/11, 2018 at 7:0 Comment(1)
adb install -t -r D:/debug.apk work for me, my phone is pixel, thank you very much.Pyrophotometer
D
10

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

Deltadeltaic answered 18/10, 2015 at 20:13 Comment(0)
A
4

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
Attalanta answered 18/9, 2012 at 19:35 Comment(1)
actually it should be adb uninstall com.foo.foo I just wanted to know if there was a some command in adb itselfGigantes

© 2022 - 2024 — McMap. All rights reserved.