我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
当前回答
我在向playstore发布最新应用时就遇到了这个问题。问题是MainLauncher和应用快捷方式的结合变化。
我们添加了一个启动画面,我们的入口点是SplashActivity而不是MainActivity。所以,那些有以前版本的人,在他们的主屏幕上有应用程序快捷方式,无法打开应用程序。它总是说类似于应用程序未安装吐司。这并不是发生在每个发射器上(对我们来说,这在三星更常见)。
在幕后,App快捷方式应该无缝更新入口点从MainActivity到SplashActivity。但是,由于某种原因,许多第三方发射器不遵守该规定。修复方法是清除快捷方式并再次添加它。
如果你还没有在playstore中更新你的应用,请阅读这篇文章。
更新启动器活动时要小心。
其他回答
我曾以各种形式遇到过这个问题,但这一次是一个新的问题:
在这种情况下,我有提供商名称冲突-相同的提供商名称存在于我的应用程序和我的另一个应用程序。
如果您有该应用程序的以前版本,请先尝试删除它,现在我的问题已通过该方法解决。
我遇到了类似的问题,这是因为我试图在使用相同apk的先前版本的手机上安装apk,而两个apk没有使用相同的证书进行签名。我的意思是,当我使用相同的证书时,我能够覆盖以前的安装,但当我在不同版本之间更改证书时,安装就不可能了。您是否使用相同的证书?
在这种情况下,你已经从谷歌Play安装了应用程序的旧版本,你想测试应用程序的新版本:
打开谷歌播放控制台 将你的应用的新版本上传到Alpha / Beta,但不要发布它!
你现在可以下载衍生的apk:
现在就在你的手机上安装下载的衍生apk。 衍生的apk由谷歌Play使用Android Studio生成的发布应用程序的不同密钥重新签名。
打开AndroidMainfest,然后在应用程序标签中添加verionCode, versionName,并确保debug able等于false:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="...">
<application
...
android:debuggable="false"
android:versionCode="1"
android:versionName="1.0"
tools:ignore="HardcodedDebugMode">
...
</application>
然后打开构建。gradle (module:app)确保verionCode, versionName退出和minsdk <=您的移动sdk:
defaultConfig {
...
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
...
}
查阅资料来源:https://developer.android.com/studio/publish/
https://developer.android.com/studio/publish/preparing &
https://developer.android.com/studio/publish/versioning &
和https://developer.android.com/studio/publish/app-signing