Java 如何在不手动卸载签名不匹配的旧调试apk的情况下安装新的调试apk?

Java 如何在不手动卸载签名不匹配的旧调试apk的情况下安装新的调试apk?,java,android,android-gradle-plugin,apk,android-install-apk,Java,Android,Android Gradle Plugin,Apk,Android Install Apk,我有一个硬件产品,其应用程序用户无法退出。当有新的更新时,用户可以更新到应用程序中的最新版本。我们发布的是调试apk,而不是签名的 我听说Android studio会自动签署调试apk。我有一个新版本的应用程序,我想发布,但旧的apk的签名不匹配新的apk签名。用户无法卸载应用程序并重新安装新应用程序,因为他们无法离开应用程序。我无法在世界各地手动更新everyones产品 问题:在用户不必手动卸载和安装新apk的情况下,卸载旧apk并安装新apk的最佳方式是什么 建议:有没有办法找出旧的ap

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

我听说Android studio会自动签署调试apk。我有一个新版本的应用程序,我想发布,但旧的apk的签名不匹配新的apk签名。用户无法卸载应用程序并重新安装新应用程序,因为他们无法离开应用程序。我无法在世界各地手动更新everyones产品

问题:在用户不必手动卸载和安装新apk的情况下,卸载旧apk并安装新apk的最佳方式是什么


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

您可以使用该
调试密钥对新apk进行签名并发布它。
您的用户可以更新到新的

实际上,你不需要签署新的应用程序,只需要用调试键构建一个APK并发布它

您的gradle中包含以下代码:

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

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

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