adb - How to reinstall an app, without retaining t

2019-01-21 13:02发布

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.

5条回答
Lonely孤独者°
2楼-- · 2019-01-21 13:24

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
查看更多
成全新的幸福
3楼-- · 2019-01-21 13:31

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

查看更多
来,给爷笑一个
4楼-- · 2019-01-21 13:37

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

查看更多
祖国的老花朵
5楼-- · 2019-01-21 13:39

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

查看更多
对你真心纯属浪费
6楼-- · 2019-01-21 13:45
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
查看更多
登录 后发表回答