我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。

在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。

因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?

我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。


当前回答

如果您有该应用程序的以前版本,请先尝试删除它,现在我的问题已通过该方法解决。

其他回答

在这种情况下,你已经从谷歌Play安装了应用程序的旧版本,你想测试应用程序的新版本:

打开谷歌播放控制台 将你的应用的新版本上传到Alpha / Beta,但不要发布它!

你现在可以下载衍生的apk:

现在就在你的手机上安装下载的衍生apk。 衍生的apk由谷歌Play使用Android Studio生成的发布应用程序的不同密钥重新签名。

我也面临着同样的问题。问题是我的AndroidManifest.xml文件中的主要活动写了两次。我删除了副本。

在我的例子中,这是因为Android Studio 3.0设置Android:testOnly="true"在apk上,从版本build Variant构建。

https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

所以运行。/gradlew assemblerrelease来解决我的问题

如果您正在使用cordova,请尝试卸载任何以前通过cordova构建的应用程序。 很奇怪,但是这个方法解决了我的问题

你应该将其保存为Debug而不是release,检查两个JAR标志,并允许从你下载的地方安装应用程序(WhatsApp, chrome等…)