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

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

【问题讨论】:

    标签: android adb


    【解决方案1】:

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

    【讨论】:

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

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

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

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

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

    【讨论】:

      【解决方案3】:

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

      adb install -r -d package.apk
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 虽然这可能是正确的答案,但最好提供一个示例。阅读How to Answer页面了解更多信息。
        • 此解决方案不适用于 kiosk 或 COSU 设备或任何不允许用户安装应用的设备。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多