我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。

在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。

因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?

我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。


当前回答

我的问题和@Lunatikzx的问题类似。由于错误的权限标记被写入应用程序的属性:

<application
    android:permission="android.permission.WRITE_EXTERNAL_STORAGE"
    android:label="@string/app_name"
    android:icon="@drawable/ic_launcher"
    android:testOnly="false"
    android:debuggable="true">

什么为我修复它是改变权限标签,像这样单独的标签:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

其他回答

在尝试安装应用程序时,打开你的logCat。将其设置为“无过滤器”。搜索“InstallAppProgress”包标识符。如果安装失败,您将看到“安装错误代码”。对我来说是

D/InstallAppProgress: Installation error code: -7

从这里,您可以使用此链接查找有关特定错误代码的信息。

我的问题是:我使用了调试Apk,这是在我从Android Studio执行Run命令时生成的

解决方案是:不使用此文件,清除项目并单击Build > Build APK(s) from Android Studio。然后你可以使用生成的APK从通常的文件夹(app/build/outputs/ APK /debug/)

像这样生成的文件安装起来没有问题。

ARGHHHHH !我试图安装为Unsigned Release APK时,正确的设置是DEBUG SDK。

一个小时过去了。

在我的情况下,我删除无用的权限是不需要的

我只需要一个许可

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

并删除不需要的权限,并开始给出此错误

<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" />
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" />

我也遇到过这个问题。 请尝试这个解决方案。确保您的项目的包名称不同于您的移动电话中已经安装的以前的项目。我觉得他们的名字有冲突。它在我身上起作用。