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

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

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

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


当前回答

这个答案只与使用本机库(Android NDK)的应用程序相关。

在我的案例中,问题在于jniLibs中缺少一些用于目标电话CPU架构的本机库。因此,应用程序可以在模拟器上运行,但在真正的手机上,我看到“应用程序未安装”。

我最初只复制了x86架构的编译本机库,所以应用程序可以在模拟器上运行。但是,其他体系结构缺失(x86_64、armeabi_v7a、arm64-v8a)。在添加了缺失的*之后。所以所有架构的文件到jniLibs,“App未安装”错误消失了。

其他回答

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

Clearly there are many causes of this problem. For me the situation was this: I had deployed to my nexus 7 (actual device) from within the Android Studio (v1.3.2). All worked fine. I then created a signed apk and uploaded to my Google Drive. After disconnecting my nexus from the usb, I went to the settings/apps and uninstalled my app (App1). I then opened google drive and clicked on my App1.apk and chose to install it (need to ensure you have allowed installation of apks in settings). Then I got the dreaded message "App not Installed"

Solution for me: go back into settings/apps and scroll though all apps and at the bottom was a pale version of my App1 (note the original App1 was at the top in Alphabetical order which was deleted as above). When clicking on the pale version it said "Not installed for this user". (I had set up my nexus to have more than one user). But in the top right corner there is a three dot button. I pressed this and it said "Uninstall for all users". Which I did and it fixed the problem. I was now able to click on App1.apk and it installed fine without the error.

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并成功安装。

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

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

我也解决了这个问题,

问题是我两次宣布了我的主要活动, On作为第一个要加载的活动,我还为它指定了一个意图过滤器 在下面我又声明了一遍。

只要确保你不会重复申报你的活动。