我有一个程序在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时,我得到了同样的消息:“应用程序未安装”。

我修复了卸载JDK(我使用的是JDK -6u14-windows-x64)并安装了一个新的JDK (JDK -6u29-windows-x64)。导出并再次签署APK后,一切正常!

恢复,我的问题是在JAVA版本。谢谢的甲骨文! !

我的问题是:我使用了调试Apk,这是在我从Android Studio执行Run命令时生成的

解决方案是:不使用此文件,清除项目并单击Build > Build APK(s) from Android Studio。然后你可以使用生成的APK从通常的文件夹(app/build/outputs/ APK /debug/)

像这样生成的文件安装起来没有问题。

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

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

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

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

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

在你的app模块(项目主模块)的build>output>apk文件夹中删除。apk文件。 从项目根目录中删除。idea和。gradle文件夹 清理项目。 在android studio的侧边栏点击gradle图标,点击同步图标刷新所有项目。 现在运行项目,它应该可以工作。