我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
当前回答
如果您试图直接从谷歌驱动器安装apk,只需重新启动设备就可以为我解决问题。
其他回答
打开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
我曾以各种形式遇到过这个问题,但这一次是一个新的问题:
在这种情况下,我有提供商名称冲突-相同的提供商名称存在于我的应用程序和我的另一个应用程序。
当我遇到这个问题时,我的自定义构建工具将ADT与用于iOS的证书一起使用(这当然不是我的第一个猜测,因为除了只有你应该有一个之外,Android证书似乎没有什么特别之处,他们只是RSA-1024证书,甚至自签名也是可以的,至少对于非市场安装)。
显然,在安装之前重命名APK也可能导致这种情况。我想通过缩短文件名来减少用户从我们的网站上获取应用的输入量。在那之后,他们无法安装它。
一旦我恢复到创建和签名包时使用的原始文件名,我就能够更新安装的应用程序。
当我安装到的设备没有足够的存储空间时,我遇到过这个“应用程序未安装”错误。删除几个文件就可以安装应用程序了。奇怪的是,它没有给我一个“空间不足”的消息。(注:我是从一个“未知”位置手动安装apk。)