暂且解决INSTALL_FAILED_SHARED_USER_INCOMPATIBLE错误

有时候我们在APK安装时由于工程制定了UID,换过签名后可能出现

类似 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 或 INSTALL_FAILED_UPDATE_INCOMPATIBLE 的错误

,对于后者我们可以通过Logcat看到具体的比如说 has no signatures that match those in shared user 这样的关键字,

 

这是由于使用了sharedUserId后你使用了不同的签名造成的。

    Android中共享UID可以让多个应用使用通过Process ID,比如系统的android.process.acore就是个典型的例子,

 

 

可以共享内存空间外,还有很多好处,对于上面的错误无法安装,如果你的应用不涉及uid可以先暂时去除Androidmanifest.xml中的SharedUserID这个属性来顺利安装,如下红色标的处:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

        package="com.android.sety"                android:sharedUserId="android.uid.system">

 

 

不过经过Android123测试,即使通过系统的卸载或adb uninstall仍然无法顺利删除包含SharedUserID的包。

对于常规的应用出现 INSTALL_FAILED_UPDATE_INCOMPATIBLE 错误可以尝试Root机器, 在/data/system/packages.xml文件中,找到你应用相关内容。

posted on 2014-05-30 14:11  strangeman  阅读(1273)  评论(0编辑  收藏  举报

导航