我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
当前回答
对我来说,原因是我在同一部手机上使用不同的构建变体进行了多个构建:
所发生的事情是,其中一些构建是由我构建的,另一个是由另一个开发人员发给我的。试图安装开发人员,而我有其他构建(由我构建)导致上述错误。
所以修复很简单:删除我手机上的所有构建(不管构建变体)..然后安装我的同事发来的apk ..而且效果很好
其他回答
我遇到了类似的问题,这是因为我试图在使用相同apk的先前版本的手机上安装apk,而两个apk没有使用相同的证书进行签名。我的意思是,当我使用相同的证书时,我能够覆盖以前的安装,但当我在不同版本之间更改证书时,安装就不可能了。您是否使用相同的证书?
我也遇到了同样的问题,即App显示为正在安装,但当点击图标时不会启动。经过一些头部撞击,我发现我已经愚蠢地放置了' android:exported="false" '为我的主启动器活动在AndroidManifest文件....一旦我删除它,应用程序启动正常。
I had a similar situation.I was able to install app in debug mode using USB but not a signed version. I was able to install signed version on other phone, but not on my device. Numerous reasons and solutions did not help me. But one direction I got from a solution "uninstall for all users". What I did is to again install app in debug mode using USB connection, go to app details and "uninstall for all users" from right top 3 dots - to remove debug version. This looks like cleared all kinds of references. I usually do a normal uninstall.
现在我能够在设备上获得签名APK并成功安装。
尝试在AndroidManifest.xml中进行更改:
设置debuggable为true 签署apk
这个答案只与使用本机库(Android NDK)的应用程序相关。
在我的案例中,问题在于jniLibs中缺少一些用于目标电话CPU架构的本机库。因此,应用程序可以在模拟器上运行,但在真正的手机上,我看到“应用程序未安装”。
我最初只复制了x86架构的编译本机库,所以应用程序可以在模拟器上运行。但是,其他体系结构缺失(x86_64、armeabi_v7a、arm64-v8a)。在添加了缺失的*之后。所以所有架构的文件到jniLibs,“App未安装”错误消失了。