apk打包和反編譯六、apk的重簽名

來源:互聯網
上載者:User

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 android123.keystore -signedjar PhoneBook_signed.apk PhoneBook.apk android123.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檔案


如果懶得自己敲的話,可以在網上下載重簽名的tool,

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.