我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
我有一个程序在Android模拟器工作。我不时地创建一个签名的。apk,并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的。apk上,当我试图安装。apk时,我得到错误消息“应用程序未安装”。它在模拟器上运行良好。
因为我主要是在模拟器上测试,只是时不时地导出到真正的手机上,我不确定这是什么时候发生的。什么可能的原因,它不安装在物理手机,但运行良好的模拟器?
我已经尝试重新启动电话并删除现有的。apk,并不能解决这个问题。
当前回答
Clearly there are many causes of this problem. For me the situation was this: I had deployed to my nexus 7 (actual device) from within the Android Studio (v1.3.2). All worked fine. I then created a signed apk and uploaded to my Google Drive. After disconnecting my nexus from the usb, I went to the settings/apps and uninstalled my app (App1). I then opened google drive and clicked on my App1.apk and chose to install it (need to ensure you have allowed installation of apks in settings). Then I got the dreaded message "App not Installed"
Solution for me: go back into settings/apps and scroll though all apps and at the bottom was a pale version of my App1 (note the original App1 was at the top in Alphabetical order which was deleted as above). When clicking on the pale version it said "Not installed for this user". (I had set up my nexus to have more than one user). But in the top right corner there is a three dot button. I pressed this and it said "Uninstall for all users". Which I did and it fixed the problem. I was now able to click on App1.apk and it installed fine without the error.
其他回答
我也遇到了同样的问题,下面是解决方法:转到Manifest文件,确保你有“Debuggable”和“Test Only”属性设置为false。这对我很有用:)
我也遇到过这个问题。 请尝试这个解决方案。确保您的项目的包名称不同于您的移动电话中已经安装的以前的项目。我觉得他们的名字有冲突。它在我身上起作用。
我的问题是,我在设备上有多个用户帐户。我删除了其中一个帐户的应用程序,但它仍然安装在另一个帐户。因此,名称空间发生碰撞,无法安装。卸载应用程序从所有用户固定它为我。
在我的情况下,我删除无用的权限是不需要的
我只需要一个许可
<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" />
当我将android从2.3.2升级到3.0.1时,我就遇到了这个问题。如果是这种情况,IDE将自动考虑以下几点。
1.你不能通过传统的方法安装android:testOnly="true"的应用程序,例如从android文件管理器或从网站下载
2.Android Studio在运行的apk上设置Android:testOnly="true
如果您运行应用程序时直接将设备连接到系统,apk将安装和运行没有问题。
如果你从构建、放置和调试文件夹中复制这个apk,它将永远不会安装到设备中。
解决方案:Build -> Build APK(s) ->复制APK文件共享到您的团队
这样你的问题就解决了。