apk的重簽名
1.
生成Android APK包簽名證書
1). 在doc中切換到jdk的bin目錄
cd C:\Program
Files\Java\jdk1.6.0_18\bin
2). 運行下面的命令
keytool –genkey
–alias android123.keystore –keyalg RSA –validity 20000 –keystore android123.keystore
/*解釋:keytool工具是Java
JDK自帶的證書工具
-genkey參數表示:要生成一個證書(版權、身份識別的安全證書)
-alias參數表示:證書有別名,-alias
mine.keystore表示證書別名爲:mine
-keyalg RSA表示加密類型,RSA表示需要加密,以防止別人盜取
-validity 20000表示有效時間20000天(
K3
-keystore mine123.keystore表示要生成的證書名稱爲mine123
*/
輸入完回車後屏幕顯示::
a4 x: O. i5 I
輸入keystore密碼:[密碼不回顯(一般建議使用20位,最好記下來後面還要用)
再次輸入新密碼:[密碼不回顯(
o' ^$ _( F( K& I0
您的名字與姓氏是什麼?
[Unknown]:lili#
E# C/ Z! O) I; K6 r7 M-
您的組織單位名稱是什麼?
[Unknown]:snoopy'
|3 v& I! _/ l
您的組織名稱是什麼?
[Unknown]:snoopy
team
您所在的城市或區域名稱是什麼?)
L# V' |. E0 f; {
[Unknown]:beijing
您所在的州或省份名稱是什麼?
[Unknown]:beijing
該單位的兩字母國家代碼是什麼
[Unknown]:CN-
m. ~1 W. i0
CN=lili, U=snoopy,
O=snoopy team, L=beijing, ST=beijing, C=CN正確嗎?
[否:Y
輸入< mine.keystore>的主密碼
(如果和keystore密碼相同,按回車):
查看C:\Program Files\Java\jdk1.6.0_18\bin,生成了以後簽名用的證書Key:mine123.keystore
2.
刪除之前的簽名文件
1). 用解壓工具解壓縮apk文件(如:解壓到D:\Sign\PhoneBook)
壓縮包內容解析:
(1) META-INF目錄:存放簽名後的CERT和MANIFEST文件,用於識別軟件的簽名及版權。
(2) res目錄:存放各種Android原始資源,包括:動畫anim、圖片drawable、佈局layout、menu菜單、xml等等
(3) AndroidManifest.xml編碼後的Android項目描述文件,包括了Android項目的名稱、版本、權限、程序組件描述等等
(4) classes.dex編譯後Class被dx程序轉換成Dalvik虛擬機的可執行字節碼文件
(5) qresources.arsc所有文本資源的編譯產物,裏面包含了各Location對應的字符串資源。
2). 找到下面的目錄META-INF,刪除目錄META-INF
3). 將PhoneBook整個文件夾用zip工具,重新打包成zip壓縮包,然後更改後綴爲apk
(注意:產生的PhoneBook.zip中沒有二級根目錄)
3.
重新簽名APK文件
1). 將證書複製到與需要重新簽名的apk文件相同的目錄下(如:複製到D:\Sign)
2). 在doc中切換到需要重新前面的apk文件的目錄下
cd D:\Sign
3). 運行下面的命令
jarsigner –verbose
–keystore mine123.keystore –signedjar PhoneBook_signed.apk PhoneBook.apk mine.keystore
/*解釋:*
^, {& k1 Z. M* P/ M+ K5 n5 hjarsigner是Java的簽名工具# K8 ~% s# Y. @6 P
-verbose參數表示:顯示出簽名詳細信息
-keystore表示使用當前目錄中的mine123.keystore簽名證書文件。
-signedjarPhoneBook_signed.apk表示簽名後生成的APK名稱,%
v! a7 e2 v4 W# ]; GPhoneBook.apk表示未簽名的APK Android軟件, mine.keystore表示別名
*/
輸入完回車後屏幕如下圖顯示:
查看D:\Sign目錄,已生成重新簽名後的PhoneBook_signed.apk文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.