无法替换应用程序:应用程序在启动时自动重新安装

Cannot replace app: app is automatically re-installed on boot

我在 Android Things 上安装了一个应用程序,在 Raspberry Pi 中。我想用更新的版本替换,但是重启后它被旧版本覆盖了。太奇怪了!

这是我试过的:假设安装的应用程序包名称是 "com.myapp",我有 运行 "adb uninstall com.myapp",我得到 "Success"。如果我再次 运行 卸载命令,我会得到 "Failure [DELETE_FAILED_INTERNAL_ERROR]",因此该应用程序已完全卸载。 然后,我将 build.gradle 中的包名称修改为 "com.mynewapp",然后使用 Android Studio 中的 运行 按钮安装并 运行 它。现在"com.mynewapp"出现在我运行"adb shell pm list packages"的时候。 现在我使用 "adb shell reboot" 重新启动 Pi。重新启动后,旧应用程序为 运行ning。执行 "adb shell pm list packages" 显示我的旧包:"com.myapp",而 "com.mynewapp" 没有出现在列表中。

如何彻底删除旧应用程序,并替换为新应用程序?

卸载应用使用:

adb uninstall <pkg name>

我尝试删除所有 SD 内容,并刷新最新的 Android Things 图像,我意识到 SD 卡已损坏。我更换了 SD 卡,它工作正常。

您无法卸载打包在OS镜像中并使用adb刷入SD卡的应用程序(returns您遇到的错误Failure [DELETE_FAILED_INTERNAL_ERROR])。只有您可以卸载使用 adb 或 android studio.That 安装的应用程序,这就是为什么您第一次看到成功的原因,即卸载被覆盖的版本,但下次您实际上是在尝试卸载 OEM 版本你的应用程序,所以你看到了这个错误。

只用 Android 东西 OS 格式化和刷新 SD 卡(没有你的应用程序)然后使用 adb/android studio 安装你的应用程序,现在你将只有可卸载的副本您的应用程序在 SD 卡中。因此,您可以像从 Playstore 下载的普通应用程序一样,用该应用程序替换或做任何您喜欢的事情。