Eclipse安装错误:INSTALL_FAILED_UID_CHANGED

我在真正的Android设备上从eclipse运行Android应用程序时遇到问题

当我点击Run它时只显示这个错误:安装错误: INSTALL_FAILED_UID_CHANGED

logcat的:

 [2012-09-09 14:38:26 - SearchApp] Android Launch! [2012-09-09 14:38:26 - SearchApp] adb is running normally. [2012-09-09 14:38:26 - SearchApp] Performing com.example.MainActivity activity launch [2012-09-09 14:38:26 - SearchApp] Automatic Target Mode: using device 'cff192abd7f551f' [2012-09-09 14:38:26 - SearchApp] Uploading SearchApp.apk onto device 'cff192abd7f551f' [2012-09-09 14:38:27 - SearchApp] Installing SearchApp.apk... [2012-09-09 14:38:28 - SearchApp] Installation error: INSTALL_FAILED_UID_CHANGED [2012-09-09 14:38:28 - SearchApp] Please check logcat output for more details. [2012-09-09 14:38:28 - SearchApp] Launch canceled! 

Related of "Eclipse安装错误:INSTALL_FAILED_UID_CHANGED"

我通常会findINSTALL_FAILED_DEXOPT和INSTALL_FAILED_UID_CHANGED错误的解决方案

经过大量的测试后,各种各样的伎俩徒劳无功,我终于find了解决这个棘手问题的主要解决方案!

我认为问题是由Eclipse错误造成的! ,实际上eclipse不能仅仅因为字符串名称而复制和安装内置的APK文件(进一步描述)

我应该补充一点,当您在互联网上使用技巧,如数据/数据中的删除包名称文件夹时,您将遇到一个新的粘滞错误“ INSTALL_FAILED_DEXOPT

那么让我们看看如何解决INSTALL_FAILED_DEXOPTINSTALL_FAILED_UID_CHANGED

在我的情况下,当我检查日志猫我注意到下面的行:

 09-30 19:03:19.882: I/PackageManager(314): Running dexopt on: com.example.searchapp 09-30 19:03:19.921: E/dalvikvm(6129): Invalid name: 'search_‌country_name' 09-30 19:03:19.921: E/dalvikvm(6129): Trouble with item 226 @ offset 0x2094 09-30 19:03:19.921: E/dalvikvm(6129): Cross-item verify of section type 0004 failed 09-30 19:03:19.921: E/dalvikvm(6129): ERROR: Byte swap + verify failed 09-30 19:03:19.961: E/dalvikvm(6129): Optimization failed 09-30 19:03:19.961: W/installd(144): DexInv: --- END '/data/app/com.example.searchapp-1.apk' --- status=0xff00, process failed 09-30 19:03:19.961: E/installd(144): dexopt failed on '/data/dalvik-cache/data@app@com.example.searchapp-1.apk@classes.dex' res = 65280 09-30 19:03:19.961: W/PackageManager(314): Package couldn't be installed in /data/app/com.example.searchapp-1.apk 

如您所见,第二行是: 名称无效:’search_country_name’

这是我在String.xml中的一个字符串名称

所以我删除了这个字符串并注释所有引用的代码

然后我删除/ data / data中的包名称文件夹(如果您使用的是实际设备,则应具有root访问权限,如果您使用模拟器只是在打开模拟器之前擦除数据或进行新的AVD)

现在问题解决了!

您可以轻松继续编码!

这个解决方案终于为我工作了没有root:

 $ platform-tools/adb -d install /path/to/proj/bin/foo.apk 797 KB/s (4872885 bytes in 5.963s) pkg: /data/local/tmp/foo.apk Success $ platform-tools/adb -d uninstall com.example.foo.bar Success 

我不完全理解为什么这从Eclipse安装后不能用于同一个APK,但我很高兴继续…

我尝试了所有这些答案但没有效果

uproperly卸载。

解决方案: 只需重启垫

应用程序可能无法正确卸载。 可能遗漏了数据文件夹。 因此,尝试手动删除应用程序的数据文件夹,然后再次尝试安装该应用程序。

或者,删除模拟器并重新配置它。

可能有人帮忙……

我有root设备进行调试。 有时我会从/data/data/my.package备份我的应用程序数据,然后通过adb shell进行恢复。 在还原之前,我删除my.package文件夹,重新创建并复制其他子文件夹和文件。 在接下来的更改并从eclipse运行项目之后,获取INSTALL_FAILED_UID_CHANGED错误。

我的错误:我不应该删除my.package文件夹。 我必须只删除此文件夹中的所有内容,因为在重新创建文件夹中,我获得了新的所有者文件夹my.package。

有一个解决方法。 如果您没有root设备且无法访问/ data / data /文件夹,则只需重置设备即可。 它会从数据文件夹中删除所有内容,您可以再次安装干净的应用程序 唯一的缺点是一切都将从您的手机中删除。

我在模拟器上遇到了这个问题。 我删除了avd并创建了一个新的。 问题消失了。

已经有一个数据目录,其中包含您尝试安装的软件包的名称,并且分配了不同的UID。 获取root访问权限,然后尝试使用cmd中的以下命令删除已存在的目录

  rm -r /data/data/com.your.package 

或者尝试重命名您的应用程序包以在您的设备上运行它。

所以,如果你这样来find这个……没有什么可能对你有用。 然而,有一个简单的解决方案。 这显然是因为卸载不当(可能是由于电缆连接错误)。

解决方案从Play商店下载SDMaid ,并删除Corpse文件(垃圾文件)。 重新运行应用程序。 (但你需要让你的设备生根)

这个解决方案对我有用:

  1. 将您的APK放入设备的存储/ SD卡

  2. adb shell pm install -l -r "/sdcard/.apk"