命令行對Android apk或第三方apk簽名

系統默認的四種簽名類型:

四組默認簽名供Android.mk在編譯APK使用:

1、testkey:普通APK,默認情況下使用。

2、platform:該APK完成一些系統的核心功能。經過對系統中存在的文件夾的訪問測試,這種方式編譯出來的APK所在進程的UID爲system。

3、shared:該APK需要和home/contacts進程共享數據。

4、media:該APK是media/download系統中的一環。

應用程序的Android.mk中有一個LOCAL_CERTIFICATE字段,由它指定用哪個key簽名,未指定的默認用testkey.

系統默認的四種簽名類型文件的位置:

$ls build/target/product/security/
Android.mk      platform.pk8            shared.pk8            testkey.x509.pem     verity.x509.pem
media.pk8       platform.x509.pem  shared.x509.pem  verity_key

media.x509.pem  README             testkey.pk8      verity.pk8

pk8的是對應簽名的私鑰,x509的包含了公鑰的證書,verify.xxx的是用於啓動時判別system.img是否被修改過的(pk8/x509同前,verify_key是對system.img進行dm venity的公鑰)。

關於verified boot,可參考:http://luomingmao.com/2016/08/29/Verified-Boot/


簽名命令:platform爲例

java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk

   其中 signapk.jar : out/host\linux-x86\framework/ 下

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