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

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

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

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


当前回答

有时是因为你的手机没有足够的空间。如果是这样,请尝试清理内存,为新安装创造空间。

其他回答

我发现,如果我用compileSdkVersion构建我的应用程序,buildToolsVersion和targetSdkVersion都设置为默认值30在我的构建。Gradle文件,那么应用程序将无法安装在我的手机上。但是,如果我把它们改回版本29,它就可以工作了。问题是,从SDK 30开始,你需要选择V2 jar签名。有关更多信息,请参阅为什么Android SDK 30生成无效的APK文件?

我曾以各种形式遇到过这个问题,但这一次是一个新的问题:

在这种情况下,我有提供商名称冲突-相同的提供商名称存在于我的应用程序和我的另一个应用程序。

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

在尝试安装应用程序时,打开你的logCat。将其设置为“无过滤器”。搜索“InstallAppProgress”包标识符。如果安装失败,您将看到“安装错误代码”。对我来说是

D/InstallAppProgress: Installation error code: -7

从这里,您可以使用此链接查找有关特定错误代码的信息。

对我来说,在Android 9 (API 28)上,从播放商店应用程序中禁用谷歌播放保护起作用了,我能够摆脱应用程序未安装的错误。

禁用谷歌播放保护功能。打开“Play Store”应用=>点击 on菜单按钮=> select "Play Protect"选项=>禁用选项 “扫描设备安全威胁”。