[INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
原因是APK签名问题导致的.
如果App 的 AndroidManifest.xml 中增加了 android:sharedUserId="android.uid.system" (增加这个属性作为系统应用打入系统,可以修改系统时间等)
因为app作为系统应用运行在系统中,但是他的签名和系统签名不一致导致的 安装失败
给APK 系统签名
签名需要的文件
- platform.pk8
- platform.x509.pem
- signapk.jar
这三个都是可以在源码里拿到的
platform.pk8和platform.x509.pem都可以在build/target/product/security/目录下找到
signapk.jar在build/tools/signapk/目录下
签名指令
java -jar signapk.jar platform.x509.pem platform.pk8 input.apk output.apk
方便签名,可以把这三个文件都拷贝到一个文件夹中. 不拷贝,每个文件加上路径也可以.
java -jar signapk.jar security/platform.x509.pem security/platform.pk8 XCStore.apk XCSTore_Sign.apk
拿到重新签名后的APK 不能 adb install 安装,应该 push 到 system/app 目录中
adb push XXX.apk /system/app
如果报错 Read-only file system错误 , 是因为没有在remount模式下.
执行如下指令
adb reboot
adb remount
如果是用串口工具替换系统应用
cd /dev
sudo minicom -D ttyUSB*
// 输入电脑密码
进入串口工具
首先mount
mount -o remount /system
cd system/app
rm XXX.apk
cp /mnt/udisk/XXX.apk ./ //拷贝U盘中的APK到system/app中
chmod 777 XXX.apk //给考入的APK增加权限
sync
reboot