Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE签名相关的问题

之前遇到报错Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE,查了一下是签名相关的问题。签名总的来说就是保证APK安全,不被外界修改的。

解决方法有两种:第一种是直接删掉AndroidManifest.xml中的android:sharedUserId="android.uid.system"这一句。因为在APK安装后,会分配一个uid,每一个APK的uid都不一样。如果需要进行数据共享,Android提供了一个公共的uid即android.uid.system。而在使用此id后还需要设置相同的签名,否则就会报错。

第二种是设置了一个公司统一的签名文件。在Eclipse中具体操作为:Preferences-Android-Build中的Custom debug keystore添加xxx_debug.ks签名文件。

继续了解了一下Android签名的原理:

https://blog.csdn.net/jiangwei0910410003/article/details/50402000?utm_source=blogxgwz0

有关签名的一些命令:

参考:https://blog.csdn.net/msn465780/article/details/78111126

创建签名:

keytool -genkey -v -keystore 签名名称.keystore -alias 签名别名 -keyalg RSA -validity 有效期

例如keytool -genkey -v -keystore debug.keystore -alias debug -keyalg RSA -validity 10000

之后根据提示输入信息即可。

 

修改签名的别名:

keytool -changealias -keystore 签名名称.keystore -alias 签名别名 -destalias 新别名名称

如keytool -changealias -keystore debug.keystore -alias debug -destalias newdebug

 

查看签名:

keytool -list -v -keystore 签名名称.keystore

 

你可能感兴趣的:(Android)