adb 更新非市场 apk?

Posted

技术标签:

【中文标题】adb 更新非市场 apk?【英文标题】:adb update a non-market apk? 【发布时间】:2011-01-25 18:23:36 【问题描述】:

我们有什么方法可以更新(而不是重新安装)android 设备上的非市场 apk? 我只能找到一个 adb install (没有 adb update 之类的)

【问题讨论】:

【参考方案1】:

adb install -r 是您得到的最接近的,这实际上是一个更新,因为它保留了数据库和存储的首选项。如果您卸载/重新安装应用程序数据库和首选项,则会被删除。您究竟想更新 -r 选项对您没有帮助的应用程序的哪些内容?

【讨论】:

我在应用程序中存储了一些数据,我希望在更新/重新安装时保留这些数据。我想如果这是一个限制,我唯一的方法就是将它存储在 SD 卡中,但如果用户从卡中删除数据,这又是一个风险? 您存储在应用程序中的数据(在上下文首选项中)将在重新安装时保留在那里,也就是说,如果您使用 adb -r 选项...。​​这些数据只会在您卸载或通过代码手动删除它们。 这样安装有没有办法查看堆栈跟踪? 请记住,您需要使用由与当前安装版本签名相同的密钥库签名的 APK。【参考方案2】:

adb install -r 对我不起作用。所以,我做了一些解决方法。

    卸载应用程序但使用adb uninstall -k com.packagename 保留数据。这将卸载应用程序但保留数据。 见this

    使用adb install package.here再次安装应用程序。

注意:您必须具有 root 权限才能执行此命令。

【讨论】:

【参考方案3】:

要重新安装降级版本的应用,请使用以下命令:

adb install -r -d package.apk

【讨论】:

【参考方案4】:

与市场 apk 完全一样的最简单方法是将 APK 下载到您的手机(即从 Google Drive 或电子邮件下载),然后点击下载库中的 APK

【讨论】:

虽然这可能是正确的答案,但最好提供一个示例。阅读How to Answer页面了解更多信息。 此解决方案不适用于 kiosk 或 COSU 设备或任何不允许用户安装应用的设备。

以上是关于adb 更新非市场 apk?的主要内容,如果未能解决你的问题,请参考以下文章

通过ADB安装apk到genymotion报[INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]错误的解决方法

如何从 adb 在 Android 模拟器上启动和执行 Vending.apk

是否可以让用户从应用程序的非市场版本更新到市场版本?

APP增量更新

安卓手机怎样去除软件自动检测更新以及市场检测?

如何测试当您将应用更新发布到市场时会发生啥