1. 程式人生 > >android apk 應用 重新簽名 方法

android apk 應用 重新簽名 方法

android apk應用重新簽名方法,以及注意事項

1. 生成簽名證書
使用JDK自帶的keytool工具, 執行下面的命令

keytool -genkey -alias androidauto.keystore -keyalg RSA -validity20000 -keystore android.keystore

/*解釋:keytool工具是Java JDK自帶的證書工具
-genkey引數表示:要生成一個證書(版權、身份識別的安全證書)
-alias引數表示:證書有別名,-alias androidauto.keystore表示證書別名為:androidauto
-keyalg RSA表示加密型別,RSA表示需要加密,以防止別人盜取
-validity 20000表示有效時間20000天
-keystore android.keystore表示要生成的證書名稱為android
*/


輸入完回車後螢幕顯示:
輸入keystore密碼:[密碼不回顯]
再次輸入新密碼:[密碼不回顯]
您的名字與姓氏是什麼?
Unknown]:cheers
您的組織單位名稱是什麼?
Unknown]:cheers
您的組織名稱是什麼?
Unknown]:cheers
您所在的城市或區域名稱是什麼?)
Unknown]:shanghai
您所在的州或省份名稱是什麼?
Unknown]:shanghai
該單位的兩字母國家程式碼是什麼
Unknown]:CN
輸入< ***.keystore>的主密碼
(如果和keystore密碼相同,按回車):

執行以上語句後在執行的目錄下會生成證書檔案 android.keystore

2. 刪除之前APK檔案的簽名

1、解壓apk檔案(我用7-ZIP 提取出來)
2、刪除解壓出來資料夾中的 META-INF目錄:META-INF存放簽名後的CERT和MANIFEST檔案,用於識別軟體的簽名及版權。
3、刪除資料夾後重新把解壓出來的其它資料夾壓縮為zip檔案,然後直接把檔案字尾改為apk
注意:一定要選中要壓縮的檔案,然後壓縮成.zip 檔案,zip檔案必須是根目錄,即 開啟zip檔案,就能看見壓縮的檔案內容,這非常重要。

3. 為APK重新生成簽名

1、將證書複製到與需要重新簽名的apk檔案相同的目錄下
2、進入該目錄下執行以下語句

jarsigner -verbose -keystore android.keystore -signedjar  cheers_app_debug.apk

cheers_app_unsigned.apk  androidauto.keystore
命令解釋:

jarsigner是Java的簽名工具,JDK自帶
-verbose引數表示:顯示出簽名詳細資訊
-keystore表示使用當前目錄中的android.keystore簽名證書檔案。
-signedjar cheers_app_debug.apk cheers_app_unsigned.apk 表示簽名後生成的APK名稱為 cheers_app_debug.apk ,未簽名的APK Android軟體名稱為cheers_app_unsigned.apk  
-androidauto.keystore表示簽名檔案的別名,生成證書的時候有書寫

執行以上操作之後在目錄下生成了cheers_app_debug.apk,經過自己簽名的APK檔案