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

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

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

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


当前回答

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

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

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

其他回答

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

我有同样类型的错误,这是由我的android manifest XML文件中的这一行引起的。

android:permission="android.permission.INSTALL_LOCATION_PROVIDER"

我去掉了那条线,问题就解决了。希望这能有所帮助

这也可能发生在制作主屏幕小部件时,并且您的小部件XML文件在其android:configure属性中指定了错误的Activity。

我也面临着同样的问题。 在我的应用程序中有服务。 即使在应用程序卸载后,服务仍在后台运行,在执行应用程序强制停止后,收到应用程序已卸载的消息。 然后我安装了应用程序,没有任何问题。

确保考虑到以下建议:

Your build variants and Flavors should be same(App installed and new one), usually release Signature file must be the same(*.jks file) The version you set in build.gradle or AndroidManifest have greater value compared to current version(it is recommended to set version in build.gradle) URL is correct(doesn't have typo) and server is reachable(WebService/WebMethod/WIFI is running/available and ...) File downloaded completely File saved correctly into desired directory Setting for Data and Type in setDataAndType is correct