我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
当前回答
对于那些使用Android Studio 3的人。
Suryanarayana Reddy的答案是正确的,尽管它没有说明解决问题的步骤,因此。
在你的AndroidManifest.xml的应用标签下添加testOnly="false"和android:debuggable="true",就像这样:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:testOnly="false"
android:debuggable="true"
>
然后在AndroidStudio的菜单栏Build > Build APK(s)
其他回答
通过命令行创建keystore文件
keytool -genkey -alias key_file_name.keystore -keyalg RSA -validity 1000000000000000 -keystore key_file_name.keystore
通过Eclipse导出apk,右键单击Android项目Android Tools >导出签名应用程序包,然后给出密钥库位置和密码。
这将crate signed apk,同时apk将被zipaligned。和安装。
如果你通过命令行全部,有时你可能会遇到“应用程序未安装”错误。 (应用程序未安装错误不仅会发生在使用命令行时。也可能是其他原因)
检查Android版本。
如果你安装的是非市场应用程序,和不兼容的版本,你会得到这个错误。
应用程序的目标是2.3.4 您的设备是2.2 然后你会得到这个错误。
如果你在AndroidManifest.xml中声明了两次MainActivity,就会发生这种情况。
另一个可能的原因是:您更改了启动活动。提示:永远不要对已经发布的应用程序这样做!原因在Android开发者博客中讨论过。
在我的例子中,这是因为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来解决我的问题
如果您有该应用程序的以前版本,请先尝试删除它,现在我的问题已通过该方法解决。