有时候我们在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文件中,找到你应用相关内容。