我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
当前回答
我曾以各种形式遇到过这个问题,但这一次是一个新的问题:
在这种情况下,我有提供商名称冲突-相同的提供商名称存在于我的应用程序和我的另一个应用程序。
其他回答
在尝试安装应用程序时,打开你的logCat。将其设置为“无过滤器”。搜索“InstallAppProgress”包标识符。如果安装失败,您将看到“安装错误代码”。对我来说是
D/InstallAppProgress: Installation error code: -7
从这里,您可以使用此链接查找有关特定错误代码的信息。
如果您试图直接从谷歌驱动器安装apk,只需重新启动设备就可以为我解决问题。
我通过不首先签名应用程序和不使用Maven来解决这个问题。我将此添加到构建路径中。
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<sign>
<debug>false</debug>
</sign>
</configuration>
</plugin>
之后,我手动签名我的应用程序:jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore /home/myself/.android/release.Keystore myapp-1.0.apk androidreleasekey
当这个问题发生在我身上时,我通过删除项目文件夹中一些不重要的文件来解决它,比如密钥库。
事后看来,把你游戏的钥匙给别人可能不是什么好事。
确保考虑到以下建议:
Your build variants and Flavors should be same(App installed and new one), usually release Signature file must be the same(*.jks file) The version you set in build.gradle or AndroidManifest have greater value compared to current version(it is recommended to set version in build.gradle) URL is correct(doesn't have typo) and server is reachable(WebService/WebMethod/WIFI is running/available and ...) File downloaded completely File saved correctly into desired directory Setting for Data and Type in setDataAndType is correct