Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Eclipse Installation error: INSTALL_FAILED_UID_CHANGED

I have problem with running an android application from eclipse on real android device

when I click on Run it just show me this error: Installation error: 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!
like image 516
Mohsen Navabi Avatar asked Sep 09 '12 10:09

Mohsen Navabi


3 Answers

I EVENTUALLY FOUND THE SOLUTION FOR INSTALL_FAILED_DEXOPT and INSTALL_FAILED_UID_CHANGED ERROR

After lot of testing a vary of tricks in vain, I eventually found the main solution to solve this sticky problem forever!

I think the problem is caused by an Eclipse bug! , in fact eclipse can not copy and install built APK file just because of a string name(described further)

I should add that when you use tricks on internet such as delete package name folder in data/data you will face a new sticky error "INSTALL_FAILED_DEXOPT"

So lets see how to solve INSTALL_FAILED_DEXOPT and INSTALL_FAILED_UID_CHANGED

In my case, when i check the log cat i noticed below lines:

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@[email protected]@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

As you can see the second line is: Invalid name: 'search_‌country_name'

This is one of my string names in String.xml

So I delete this string and comment all referenced codes

Then I delete the package name folder in /data/data (if you are using a actual device you should have root access , if you are using emulator just wipe data before opening emulator or make a new AVD)

Now the problem is solved!

You can easily continue coding!

like image 150
Mohsen Navabi Avatar answered Nov 04 '22 14:11

Mohsen Navabi


This solution finally worked for me with no 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

I don't completely understand why this worked when installing from Eclipse did not work for the same APK, but I'm just happy to move on...

like image 26
Chris Dolan Avatar answered Nov 04 '22 13:11

Chris Dolan


I tried all this answers but no effect

uproperly uninstall.

solution: just reboot pad

like image 4
djdance Avatar answered Nov 04 '22 14:11

djdance