现在的位置: 首页 > 综合 > 正文

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的问题

2019年05月06日 ⁄ 综合 ⁄ 共 694字 ⁄ 字号 评论关闭

eclipse编译出来的apk,安装时报出INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的错误。

原因:apk的AndroidManifest.xml中声明了android:sharedUserId="android.uid.system",但没有相应的签名

解决方案:

1. 找到编译目标系统时的签名证书platform.pk8和platform.x509.pem,在android源码目录build\target\product\security下。

没有那两个证书的话,就别指望用system用户了,赶紧地把android:sharedUserId="android.uid.system"声明删掉,不过删掉之后有些动作可能就没权限执行了。

 

2. 将签名工具(signapk.jar)、签名证书(platform.pk8和platform.x509.pem)及编译出来的apk文件都放到同一目录

 

3.执行签名命令:

signapk.jar  platform.x509.pem  platform.pk8 Demo.apk signedDemo.apk

 

4.将signedDemo.apk安装即可

 

类似地,在android源码树编译也会存在同样的问题,解决方法类似。

或直接把目标系统的签名证书platform.pk8和platform.x509.pem(根据android.mk文件的LOCAL_CERTIFICATE 定义,也可能是shared.pk8、media.pk8等)覆盖到build\target\product\security也可,这样就不需要再手工签名了。

抱歉!评论已关闭.