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

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

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

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


当前回答

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

其他回答

如果有人遇到此问题,请检查版本号。如果您的构建号小于已安装的应用程序构建号,您的应用程序将无法安装,您将获得“损坏的应用程序或apk文件”。

要修复它,只需增加您的版本号,直到它等于或大于已安装的版本号。

我也解决了这个问题,

问题是我两次宣布了我的主要活动, On作为第一个要加载的活动,我还为它指定了一个意图过滤器 在下面我又声明了一遍。

只要确保你不会重复申报你的活动。

就我而言,这是因为我使用的是支持库28的alpha版本。看起来谷歌将这些预发布版本标记为testOnly。如果你真的想这样发布(例如,你想像我一样推出一个内部测试),你可以将这一行添加到你的gradle中。属性文件:

android.injected.testOnly=false

当我安装到的设备没有足够的存储空间时,我遇到过这个“应用程序未安装”错误。删除几个文件就可以安装应用程序了。奇怪的是,它没有给我一个“空间不足”的消息。(注:我是从一个“未知”位置手动安装apk。)

在我的情况下,我之前发布的应用程序已经通过另一个密钥签名,所以我已经卸载了它,但在我的测试手机(LG G4 H-818) 2个用户存在,所以之前的应用程序仍然安装在我的手机上,没有正确卸载!所以当我试图重新安装它时,它失败了…

所以我试图改变用户和卸载之前的应用程序,最终应用程序安装正确。

希望这对你将来有所帮助:)