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

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

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

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


当前回答

当我将android从2.3.2升级到3.0.1时,我就遇到了这个问题。如果是这种情况,IDE将自动考虑以下几点。

1.你不能通过传统的方法安装android:testOnly="true"的应用程序,例如从android文件管理器或从网站下载

2.Android Studio在运行的apk上设置Android:testOnly="true

如果您运行应用程序时直接将设备连接到系统,apk将安装和运行没有问题。

如果你从构建、放置和调试文件夹中复制这个apk,它将永远不会安装到设备中。

解决方案:Build -> Build APK(s) ->复制APK文件共享到您的团队

这样你的问题就解决了。

其他回答

我也遇到过这个问题。 请尝试这个解决方案。确保您的项目的包名称不同于您的移动电话中已经安装的以前的项目。我觉得他们的名字有冲突。它在我身上起作用。

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

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

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

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

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

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

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

在你的app模块(项目主模块)的build>output>apk文件夹中删除。apk文件。 从项目根目录中删除。idea和。gradle文件夹 清理项目。 在android studio的侧边栏点击gradle图标,点击同步图标刷新所有项目。 现在运行项目,它应该可以工作。

对我来说,原因是我在同一部手机上使用不同的构建变体进行了多个构建:

所发生的事情是,其中一些构建是由我构建的,另一个是由另一个开发人员发给我的。试图安装开发人员,而我有其他构建(由我构建)导致上述错误。

所以修复很简单:删除我手机上的所有构建(不管构建变体)..然后安装我的同事发来的apk ..而且效果很好