[英]Android apk sign information
在apk中哪里存儲了簽名信息? apk文件是擴展名為.apk的zip存檔。 我可以更改一些資源,否則會影響簽名嗎?
使用下面的這種方法,您可以編輯資源,但是您必須辭職apk,但這也顯示在下面。 本示例編輯圖像資源,但是可以與任何資源一起使用
首先使用android SDK中的工具“ aapt”列出資源:
$ANDROID/tools/aapt list file.apk
找到需要更改的資源后,我們將使用“刪除”和“添加”來替換它們:
$ANDROID/tools/aapt remove file.apk res/drawable/file.png
$ANDROID/tools/aapt add file.apk res/drawable/file.png
然后,我們必須刪除舊的APK簽名並將其替換為新的APK簽名。 我們將生成一個偽造的自簽名密鑰來對APK進行簽名:
$ openssl genrsa -out key.pem 1024
$ openssl req -new -key key.pem -out request.pem
$ openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
$ openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
從APK中刪除舊簽名:
for f in `$ANDROID/tools/aapt list file.apk |grep "META-INF"` ; do
$ANDROID/tools/aapt remove file.apk $f
done
現在我們對APK進行簽名,我使用signapk.jar來做到這一點:
$ java -jar signapk.jar certificate.pem key.pk8 file.apk file-signed.apk
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.