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

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

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

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


当前回答

如果你尝试了上面所有的答案,没有一个有效,你可能想试试这个:

如果你的构建变量是“调试”,那么你应该在应用程序构建gradle的buildTypes下添加这个,以便应用程序安装到你的设备上:

debug {
    minifyEnabled false
}

其他回答

我遇到了类似的问题,这是因为我试图在使用相同apk的先前版本的手机上安装apk,而两个apk没有使用相同的证书进行签名。我的意思是,当我使用相同的证书时,我能够覆盖以前的安装,但当我在不同版本之间更改证书时,安装就不可能了。您是否使用相同的证书?

我也解决了这个问题,

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

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

我的问题和@Lunatikzx的问题类似。由于错误的权限标记被写入应用程序的属性:

<application
    android:permission="android.permission.WRITE_EXTERNAL_STORAGE"
    android:label="@string/app_name"
    android:icon="@drawable/ic_launcher"
    android:testOnly="false"
    android:debuggable="true">

什么为我修复它是改变权限标签,像这样单独的标签:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

最后我发现没有一个应用程序被成功安装,不仅仅是我的。我将SD卡默认的安装应用程序设置为自动。这就解决了问题。

使用Android Studio,我之前安装了APK的未签名调试版本(Build > Build APK),在安装有签名的发布版本之前必须卸载它(Build Variant > Build Variant: release, Build > Generate signed APK)。