我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
当前回答
在我的情况下,我已经声明我的发射器活动为android:exported="false"
<activity android:name=".MainActivity"
android:exported="false">
我最近瞄准了android 12,不得不把android:exported属性放在我的manifest组件中,但不知道该把什么作为值。将值更改为android:exported="true"有效。
其他回答
对我来说,原因是我在同一部手机上使用不同的构建变体进行了多个构建:
所发生的事情是,其中一些构建是由我构建的,另一个是由另一个开发人员发给我的。试图安装开发人员,而我有其他构建(由我构建)导致上述错误。
所以修复很简单:删除我手机上的所有构建(不管构建变体)..然后安装我的同事发来的apk ..而且效果很好
当我安装到的设备没有足够的存储空间时,我遇到过这个“应用程序未安装”错误。删除几个文件就可以安装应用程序了。奇怪的是,它没有给我一个“空间不足”的消息。(注:我是从一个“未知”位置手动安装apk。)
您也可能会遇到此问题,因为您的设备制造商没有授权谷歌商业应用程序,如Play Store, YouTube,谷歌地图等。按照这个答案来解决问题。
在我的例子中,这是因为Android Studio 3.0设置Android:testOnly="true"在apk上,从版本build Variant构建。
https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html
所以运行。/gradlew assemblerrelease来解决我的问题
有时是因为你的手机没有足够的空间。如果是这样,请尝试清理内存,为新安装创造空间。