我在真正的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!
Run Code Online (Sandbox Code Playgroud)
Moh*_*abi 11
我偶然发现了INSTALL_FAILED_DEXOPT和INSTALL_FAILED_UID_CHANGED错误的解决方案
经过大量的测试后,各种各样的伎俩徒劳无功,我终于找到了解决这个棘手问题的主要解决方案!
我认为问题是由Eclipse错误造成的!,实际上eclipse不能仅仅因为字符串名称而复制和安装内置的APK文件(进一步描述)
我应该补充一点,当您在互联网上使用技巧,如数据/数据中的删除包名称文件夹时,您将遇到一个新的粘滞错误" INSTALL_FAILED_DEXOPT "
那么让我们看看如何解决INSTALL_FAILED_DEXOPT和INSTALL_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
Run Code Online (Sandbox Code Playgroud)
如您所见,第二行是:名称无效:'search_country_name'
这是我在String.xml中的一个字符串名称
所以我删除了这个字符串并注释所有引用的代码
然后我删除/ data/data中的包名称文件夹(如果您使用的是实际设备,则应具有root访问权限,如果您使用模拟器只是在打开模拟器之前擦除数据或制作新的AVD)
现在问题解决了!
您可以轻松继续编码!
| 归档时间: |
|
| 查看次数: |
20783 次 |
| 最近记录: |