我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
当前回答
在这种情况下,你已经从谷歌Play安装了应用程序的旧版本,你想测试应用程序的新版本:
打开谷歌播放控制台 将你的应用的新版本上传到Alpha / Beta,但不要发布它!
你现在可以下载衍生的apk:
现在就在你的手机上安装下载的衍生apk。 衍生的apk由谷歌Play使用Android Studio生成的发布应用程序的不同密钥重新签名。
其他回答
在你的app模块(项目主模块)的build>output>apk文件夹中删除。apk文件。 从项目根目录中删除。idea和。gradle文件夹 清理项目。 在android studio的侧边栏点击gradle图标,点击同步图标刷新所有项目。 现在运行项目,它应该可以工作。
我也遇到过这个问题。 请尝试这个解决方案。确保您的项目的包名称不同于您的移动电话中已经安装的以前的项目。我觉得他们的名字有冲突。它在我身上起作用。
在我的例子中,这是因为Android Studio 3.0设置Android:testOnly="true"在apk上,从版本build Variant构建。
https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html
所以运行。/gradlew assemblerrelease来解决我的问题
如果您有该应用程序的以前版本,请先尝试删除它,现在我的问题已通过该方法解决。
在我把手机从Android Pie升级到Android 10之前,在实体手机上加载调试应用程序进行测试一直很可靠。在那之后,每当我试图侧面加载应用程序时,就会出现“应用程序未安装”错误。
根据我的AndroidManifest.xml中的警告,我从…
<application
android:name=".App"
android:allowBackup="true" ... />
……
<application
android:name=".App"
android:allowBackup="false" ... />
在那之后,我就可以侧面加载我的应用了——只有一次。然后,我又遇到了同样的“应用程序未安装”错误。通过将allowBackup更改为true,它可以再次工作(至少一次)。
从答案的数量和答案的变化可以明显看出,这个问题有很多原因。我把这个分享给大家,希望能帮助到其他人。