我已经检查了StackOverflow中所有其他问题的所有解决方案,评论和答案。
我已经运行,编译和调试我的应用程序好几个月了。但突然间,当我使用Nexus玩它时,它开始在我的Eclipse中出现这条消息。
MOBILE:
ECLIPSE:
控制台说:
Logcat说:
我可以安装,卸载其他APK /应用程序,没有任何问题。所以它不是关于/ data文件夹/子文件夹中的权限
CONSOLE:
所以,我没有使用虚拟机/模拟器进行调试。我有一个没有根的应用程序的Nexus,我无法从Eclipse构建应用程序的设备。
谢谢
答案 0 :(得分:10)
我在非root Nexus 5 中遇到了同样的问题。我设法解决了没有root访问权限,也没有恢复出厂设置。
对于这个设备,我设法通过转到Settings -> Storage -> Misc
并尝试删除与故障应用程序相关的任何文件(在我的情况下,从Android Studio推送的.apk和.db文件)来解决它)。我还点击了Cached data
来擦除所有应用的缓存。
我不确切地知道这两件事中的哪一件触发了解决方案。您可能希望在擦除缓存数据之前尝试删除Misc
中的某些文件,因为它看起来不那么过分了。
似乎以前的安装中有一些剩余的文件没有被卸载(可能是an issue in the Android installation system)。这些文件在没有root访问权限的情况下无法访问,因为它们位于/ data / local /文件夹下。显然,Nexus 5的存储工具有权删除该文件夹下的文件。
我不知道其他设备是否有类似的存储工具集。
答案 1 :(得分:3)
第一次发生这种情况我尝试从eclipse,命令行等安装.... 一切都失败了所以我进行了工厂重置,然后工作。
24小时后再次发生。
不想再进行一次工厂重置,我再次尝试所有相同的事情都无济于事。
最后,我尝试从appstore下载我们当前的应用程序,奇迹般地工作。
然后我使用adb重新安装。
因此,如果您在应用商店中有自己的应用版本,请尝试安装该应用以在手机上获取内容,然后重新安装" adb -d install -r $ PACKAGE.apk
希望这有助于某人。
答案 2 :(得分:3)
这可能看起来很奇怪,但我尖尖的老板只是遇到了这个问题并尝试了我们能想到的一切。由于INSTALL_FAILED_UID_CHANGED错误,不会安装。
他卸载了其他一些应用程序(游戏),然后突然安装了。也许这是内部卡上的磁盘空间问题? Dunno,但是当别人碰到它时值得一试。
答案 3 :(得分:2)
这(或其他一些魔法)帮助了我:
adb shell pm clear MY_PACKAGE_NAME
答案 4 :(得分:1)
我可以像下面这样解决这个问题,而不会依赖我的Nexus 5.
-l选项表示 - pm install:将软件包安装到系统中。选项: -l:使用FORWARD_LOCK安装包。
答案 5 :(得分:1)
以下是其他一些可以安全检查/尝试的事情:
答案 6 :(得分:1)
从Play商店下载应用程序将解决此问题。 要在应用程序上继续开发,请卸载当前安装的应用程序,然后从eclipse启动应用程序。
工作正常。
答案 7 :(得分:1)
尝试删除Settings -> Storage
下的缓存数据,这将立即清除所有缓存的应用数据,但它完成了工作(在我的情况下)
答案 8 :(得分:0)
答案 9 :(得分:0)
对于android studio,请转到文件 - > 项目结构 - > app - > 风味以及您的右侧,您会看到应用ID 字段,只需更改应用ID,您就可以开始...... :)
答案 10 :(得分:0)
在我的情况下,更改GCM签名的包名称有效。因为它卸载了完整的包。
For more detailed explination click here
<permission
android:name="com.androidcodelab.sampleproject.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.androidcodelab.sampleproject.permission.C2D_MESSAGE"/>
项目的包名称已更改为:
<permission
android:name="com.androidcodelab.xyz.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.androidcodelab.xyz.permission.C2D_MESSAGE"/>
然后我又回到了实际的包名
答案 11 :(得分:0)
对于无根设备,您需要从设备的应用列表中删除该应用:
适合我!
答案 12 :(得分:0)
这个解决方案对我有用:
将您的APK放入设备的存储/ SD卡
adb shell pm install -l -r "/sdcard/<apk_filename>.apk"
-l =前进锁定 -r =重新安装
答案 13 :(得分:0)
我尝试了以上所有和NADA!
它对我有用的唯一方式(非根设备)是:
1.-更改项目结构 [Ctrl + Alt + Shift + S] - &gt; Flavors :应用ID ,例: 'com.example.something'到'com.example.somethingxx'。 (与更改build.gradle文件相同)
项目的2.- 重构程序包名称到您在应用程序ID上使用的同名新名称:'com.example.somethingxx'
这将确保您在设备上安装新的应用程序......请告诉我们!
答案 14 :(得分:0)
我使用的是仅用于测试的设备,所以我只是重置了整个设备。它对我有用。
答案 15 :(得分:0)
我有同样的问题。最终对我有用的是将applicationId
中的build.gradle
(您的包名称)更改为不同的内容,然后重建项目,并成功部署。
导致这种情况的原因是我将现有的Android Studio项目复制到一个新的项目中,并且正在使用新项目。问题是,我之前从未在我的设备上部署原始apk,并且只是尝试部署应用程序的新副本。
答案 16 :(得分:0)
这对我有用:
adb install -l -r&lt;'apk_name'&gt; .apk
-l =前进锁定
-r =重新安装
答案 17 :(得分:0)
我只能通过生根解决这个问题。我知道你不想这样做,但它对我有用。我下载了Titanium Backup,然后在Titanium Backup的列表中找到了我已卸载的应用程序。在我进入Batch Actions然后删除孤儿数据之前,我无法摆脱那个划掉的。这让我可以重新安装我的应用程序并且运行良好。
答案 18 :(得分:0)
这是因为如果您安装了具有相同包名称的应用程序。所以试着删除那个。
答案 19 :(得分:-1)
对我而言,唯一的方法是根电话并清除/ data / data /目录。以下是步骤:
1.在移动设备上打开Web浏览器
2.打开网站:https://towelroot.com/
3.单击lambda sign下载Towerl Root并在之后安装
4.打开Towel root app,然后单击“make it rain”按钮。如果它说:“设备不兼容”谷歌其他等待root设备。
5.从Play商店下载SuperSU应用程序
6.从Play商店下载终端模拟器应用程序
7.运行终端仿真器
8.在终端仿真器中键入以下命令:
苏
9.允许超级用户访问终端仿真器
10.在终端仿真器中键入以下命令,将'package_name'替换为您的应用程序包名称:
rm -r / data / data / package_name