x86 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

eclipse編譯出來的apk,安裝時報出INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的錯誤。
原因:apk的AndroidManifest.xml中聲明瞭android:sharedUserId="android.uid.system",但沒有相應的簽名

解決方案:
1.將簽名工具(signapk.jar)(/TOPDIR/out/host/linux-x86/framework )複製到 /TOPDIR/packages/experimental/yourapp/下
2. 將編譯目標系統時的簽名證書platform.pk8和platform.x509.pem(/DGV/E660T/build/target/product/security )複製到 /TOPDIR/packages/experimental/yourapp/下
3:cd /TOPDIR/packages/experimental/yourapp/
4.執行簽名命令:java -jar signapk.jar  platform.x509.pem  platform.pk8 yourapp.apk signedyourapp.apk
 
4.將signedyourapp.apk安裝即可,如果之前安裝過本apk,需要用adb install -r signedyourapp.apk
 
類似地,在android-x86源碼樹編譯也會存在同樣的問題,解決方法類似。
或直接把目標系統的簽名證書platform.pk8和platform.x509.pem(根據android.mk文件的LOCAL_CERTIFICATE 定義,也可能是shared.pk8、media.pk8等)
覆蓋到build\target\product\security也可,這樣就不需要再手工簽名了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章