轉自:http://jingyan.baidu.com/article/3c48dd3491d91fe10be358f4.html
在某些場合下,沒有外在工具,需要對一個未簽名的APK包進行簽名,那就可以通過命令來對Android應用進行手動簽名。
方法/步驟
-
菜單菜單鍵,鍵入cmd命令進入命令模式。如圖:
-
命令模式中,進入JDK的安裝目錄的Bin子目錄下。(我的JDK安裝在E盤,所以先進入E盤,然後再進入JDK安裝目錄)
-
通過keytool.exe 工具來創建keystore庫.
輸入以下命令:
keytool -genkeypair -alias - mydemo.keystore -keyalg RSA -validity 100
-keystore mydemo.keystore
命令說明如下:
-genkeypair :指定生成數字證實
-alias :指定生成數字證書的別名
-keyalg:指定生成數字證書的算法 這裏如RSA算法
-validity:指定生成數字證書的有效期
-keystore :指定生成數字證書的存儲路徑。 (這裏默認在keytool.exe 目錄下)
回車 出現如圖交互式界面 輸入數字證書費密碼 作者 公司等詳細信息
如圖 :
-
完成後,keystore庫創建完成,你可以在指定的保存目錄下找到 如圖:
-
使用jarsigner命令對未簽名的APK安裝包進行簽名。使用JDK安裝目錄下bin子目錄下的jarsigner.exe工具來進行簽名。
然後把未簽名的apk也拷貝到此目錄。如圖:
-
使用如下命令進行簽名:
jarsigner -verbose -keystore mydemo.keystore -signedjar
-Note.apk Notes.apk mydemo.keystore
以上命令的說明:
-verbose:指定生成詳細輸出
-keystore:指定數字證書存儲路徑
-signedjar:該選項的三個參數爲 簽名後的apk包 未簽名的apk包 數字證書別名
注意有效期哦。
-
簽名後的apk 如圖:
-
sdk目錄下tool目錄下使用zipalign.exe工具優化APK安裝包。
將已經簽名的apk包放在zipalign.exe同目錄下 如圖:
-
使用如下命令:
zipalign -f -v 4 -Note.apk -Notes.apk
命令說明:
-f :指定強制覆蓋已有文件
-v 指定生成詳細輸出
4:指定檔案整理基於的字節數 一般是4 也有基於32位的。
-Note.apk :優化前APK
-Notes.apk 優化後的APK
-
運行命令後,在該目錄下生成一個-Notes.apk,這個就是優化過的APK安裝包
,該安裝包可以對外發布。
如圖:
如果能對你有幫助,希望你能收藏和支持。
END