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

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

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

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


当前回答

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

android.injected.testOnly=false

其他回答

我也解决了这个问题,

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

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

如果应用程序已经安装到或移动到SD卡上,然后连接了USB线,导致SD卡卸载,也会出现“应用程序未安装”错误。

在这种情况下,关闭USB存储或将应用程序移回内部存储可以解决这个问题。

当我遇到这个问题时,我的自定义构建工具将ADT与用于iOS的证书一起使用(这当然不是我的第一个猜测,因为除了只有你应该有一个之外,Android证书似乎没有什么特别之处,他们只是RSA-1024证书,甚至自签名也是可以的,至少对于非市场安装)。

我的问题是:我使用了调试Apk,这是在我从Android Studio执行Run命令时生成的

解决方案是:不使用此文件,清除项目并单击Build > Build APK(s) from Android Studio。然后你可以使用生成的APK从通常的文件夹(app/build/outputs/ APK /debug/)

像这样生成的文件安装起来没有问题。

ARGHHHHH !我试图安装为Unsigned Release APK时,正确的设置是DEBUG SDK。

一个小时过去了。