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也可,這樣就不需要再手工簽名了。INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的問題
signapk.rar工具下載
摘自:http://blog.csdn.net/download821106/article/details/8551850