最近在做一个FOTA项目,在AndroidManifest.xml文件中有如下属性
android:sharedUserId="android.uid.system"
在android studio中编译出来apk就是安装不上,报如下错误
INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
看来是要系统的签名, 但是 由于客户lib库使用了自己扩展android SDK版本,没法放在我们的源码里面编译; 后来google了下,发现可以让android studio支持系统签名,这就用到了keytool-importkeypair ,
github地址
https://github.com/getfatday/keytool-importkeypair
使用起来也比较的简单,找到系统的 platform.pk8 和 platform.x509.pem 放在 keytool-importkeypair目录下执行:
./keytool-importkeypair -k ./platform.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform
修改 build.gradle 再次编译即可
signingConfigs {
releaseConfig {
keyAlias 'platform'
keyPassword 'android'
storeFile file('/home/gyniu/tools/keystore/platform.keystore')
storePassword 'android'
}
}
这样就不报错了。