【问题标题】:How do you install a new debug-apk without manually uninstalling the old debug-apk with a mismatching signature?如何在不手动卸载签名不匹配的旧 debug-apk 的情况下安装新的 debug-apk?
【发布时间】:2017-11-18 12:25:14
【问题描述】:

我的硬件产品带有用户无法退出的应用程序。当有新的更新时,用户可以在应用程序中更新到最新版本。我们发布的是 debug-apk,而不是签名的。

我读到 Android Studio 会自动签署 debug-apk。我有一个想要发布的应用程序的新版本,但旧的 apk 签名与新的 apk 签名不匹配。用户无法卸载该应用程序并重新安装新应用程序,因为他们无法离开该应用程序。我无法环游世界手动更新每个人的产品。

问题:卸载旧 apk 并安装新 apk 的最佳方法是什么,而无需用户手动卸载和安装新 apk。

建议:有没有办法找出旧apk自动生成的签名并更改新的以匹配它?或者有没有办法创建一个可以卸载旧apk并安装新apk的服务?

【问题讨论】:

  • 如果您有 root 访问权限,请尝试这些解决方案
  • "有没有办法找出旧的 apk 自动生成的签名并更改新的签名以匹配它?" - 不。 “或者有没有办法创建一个可以卸载旧apk并安装新apk的服务?” -- 您可以创建第三个应用程序来执行此操作。但是,尚不清楚您的任何升级是如何工作的,因为更新(和卸载)需要用户干预,其形式是通过系统提供的活动同意这些操作。

标签: java android android-gradle-plugin apk android-install-apk


【解决方案1】:

我可以从制作旧版应用程序的原始计算机上复制 debug.keystore 文件,然后替换我计算机上 users\yourname.android 位置中的 debug.keystore 文件。然后我不得不重新启动android studio,一切又正常了。

【讨论】:

    【解决方案2】:

    您可以使用 debug-key 来签署您的新 APK 并发布它。 并且您的用户可以更新到新的。

    实际上,您无需为新应用签名,只需使用 debug-key 构建一个 APK 并发布即可。

    在您的 gradle 中使用以下代码:

    signingConfigs {
         debug {
             storeFile file("debug.keystore")
         }
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      • 2012-09-26
      • 2020-12-30
      • 2015-10-07
      • 2019-06-17
      • 2012-11-08
      • 1970-01-01
      相关资源
      最近更新 更多