install failed shared user incompatible

 install failed shared user incompatible
EDIT 31aug2012: also this message appears if there is no "classes.dex" in the apk

Hi,

When you try to install certain apk you might get this error when using "adb install something.apk"

Andoid creates "shared users" like app_1 app_3 etc for packages you install. These UID's are like 10001, 10002, 10003 etc.

Sometimes the administration of these shared users gets messed up and you get error messages like:

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE


The shared user administration is kept in /data/system:

-rw-rw-r-- system system 129933 2011-08-15 12:08 packages.xml


How to solve? You need a rooted phone and adb:

adb shell chmod 666 /data/system/packages.xml

adb pull /data/system/packages.xml


Now edit (notepad++) and remove the shared user in question xml block from the file:
Code:
<shared-user name="com.navngo" userId="10000">
<sigs count="1">
<cert index="4" />
</sigs>
<perms>
<item name="android.permission.READ_PHONE_STATE" />
<item name="android.permission.DISABLE_KEYGUARD" />
<item name="android.permission.INTERNET" />
<item name="android.permission.WRITE_EXTERNAL_STORAGE" />
<item name="android.permission.ACCESS_FINE_LOCATION" />
<item name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<item name="android.permission.ACCESS_COARSE_LOCATION" />
<item name="android.permission.READ_CONTACTS" />
<item name="android.permission.WRITE_CONTACTS" />
<item name="android.permission.ACCESS_NETWORK_STATE" />
<item name="android.permission.WAKE_LOCK" />
<item name="android.permission.MODIFY_AUDIO_SETTINGS" />
</perms>
</shared-user>
adb push packages.xml /data/system

adb shell rm /data/dalvik-cache/*

adb reboot


Now you should be able to install that apk.

Cheers

你可能感兴趣的:(install failed shared user incompatible)