49
adb install foo.apk

使用此命令时,如果 apk 存在,我应该得到错误 *Failure [INSTALL_FAILED_ALREADY_EXISTS]*

 adb install -r myapp-release.apk

在这种情况下,现有的 apk 将被替换,根据文档保留旧数据,

'-r' 表示重新安装应用程序,保留其数据

现在我如何重新安装应用程序,但以前的所有数据都应该被删除?

编辑

我知道我们可以做到

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

我只是想知道adb本身是否有命令或其他东西。

4

5 回答 5

43

在安装之前清理数据,如下所示:

adb shell pm clear com.package.foo

然后您可以使用以下命令正常安装:

adb install foo.apk

或者只是运行你的 IDE

于 2013-06-27T11:26:48.337 回答
13

尝试adb uninstall yourpackage.whatever.com,然后重新安装。或者为该应用程序选择清除手机上的数据。

于 2012-09-18T19:35:08.243 回答
10

是的adb uninstall com.package.foo && adb install foo.apk,但是如果该应用程序是无法卸载的系统应用程序,则卸载将不起作用。有adb shell pm clear packageName清除某个应用程序数据的命令,但它可能需要 root。像往常一样重新安装apkadb install -r app.apk

于 2015-10-18T20:13:19.260 回答
9
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)

如果你想安装debug.apk没有clear the data

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

如果你想安装debug.apk文件clear the data

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

并通过 adb 命令在设备上启动应用程序:

adb shell am start -n com.package.app/com.package.app.activity.MainActivity
于 2018-11-02T07:00:14.027 回答
4

不,没有(记录的)方法可以使用该adb install命令执行此操作。相反,您应该这样做:

adb uninstall com.your.package
adb install foo.apk
于 2012-09-18T19:35:26.873 回答