adb更新非市场apk?


110

有什么方法可以更新(而不是重新安装)Android设备上的非市场apk?我只能找到adb安装(与adb update一样)

Answers:


255

adb install -r是最接近的,实际上是一个更新,因为它保留了数据库和存储的首选项。如果卸载/重新安装,则应用程序数据库和首选项都将被删除。关于-r选项不能帮助您的应用程序,您到底想尝试进行哪些更新?


我在应用程序中存储了一些数据,我希望在更新/重新安装时保留这些数据。我想这是否有限制,我唯一的方法是将其存储在SD卡中,但是如果用户从卡中删除数据,那又是一个风险吗?
lostInTransit 2010年

4
您存储在应用程序中的数据(在上下文首选项中)将在重新安装时保留在该位置,也就是说,如果您使用adb -r选项...。​​仅当您通过代码手动卸载或删除这些数据时,这些数据才会被删除。
维达尔·韦斯特尼斯

1
以这种方式安装后,是否可以查看堆栈跟踪?
文森特

4
请记住,您将需要使用由与当前安装版本签名相同的密钥库签名的APK。
theblang 2014年

0

adb install -r没有为我工作。因此,我做了一些解决方法。

  1. 卸载应用程序,但使用保留数据adb uninstall -k com.packagename。这将卸载应用程序,但保留数据。看到这个

  2. 使用重新安装应用程序adb install package.here

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


0

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

adb install -r -d package.apk

-1

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


虽然这可能是正确的答案,但最好提供一个示例。阅读“ 如何回答”页面以获取更多信息。
ItamarG3

1
此解决方案不适用于信息亭或COSU设备或任何不允许用户安装应用程序的设备。
Alex Meuer
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.