今日獨立開發了,一款小遊戲,想在渠道上進行發佈,在使用祕鑰簽名的過程中,積累了一下經驗和錯誤的教訓,在這裏進行總結,和大家進行分享
首先,在簽名自己的程序之前,要生成keystore
1、 keystore命令行
按照下面的命令行在C:\ProgramFiles\Java\jdk1.6.0_10\bin>目錄下,輸入
keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore
參數意義:-validity主要是證書的有效期,寫100000天;空格,退格鍵都算密碼 。
-alias keystore的別名
-keyalg 使用的密鑰算法
-keystore 密鑰庫的名字
出現的輸入界面 :
證明生成的密鑰已經成功。
然後對自己的應用進行簽名,有兩種方法,其一通過完全命令行的方式進行簽名,其二通過eclipse開發工具進行簽名。下面分別講述這兩種方式:
1、 通過eclipse的方式簽名apk
選擇要打包的項目,右鍵點擊–>Androidtools–>ExportSignedApplicationPackage…如圖-2
圖-2 Eclipse Android打包工具
接下來的步驟就是不斷的next 。下面僅貼出圖片,不解釋 。
step2:選擇打包的項目
step3:選擇生成的Eclipse Android.keystore文件並輸入密碼
step4:選擇aliaskey並輸入密碼
step5:最後選擇生成androidapk文件的目錄及文件名
最終生成的apk文件 。
2、 通過命令行的方式簽名
1、將證書複製到與需要重新簽名的apk文件相同的目錄下
2、進入該目錄下執行以下語句
|
jarsigner -verbose -keystore CERT.keystore -signedjar weibo_signed.apk
netease_microblog_android_unsigned.apk CERT
|
命令解釋:
jarsigner是Java的簽名工具,JDK自帶
-verbose參數表示:顯示出簽名詳細信息
-keystore表示使用當前目錄中的android.keystore簽名證書文件。
--signedjar weibo_signed.apk netease_microblog_android_unsigned.apk表示簽名後生成的APK名稱爲 weibo_signed.apk,未簽名的APK Android軟件名稱爲netease_microblog_android_unsigned.apk
CERT: 表示簽名文件的別名,生成證書的時候有書寫
執行以上操作之後在目錄下生成了weibo_signed.apk ,經過自己簽名的APK文件
最後無論是使用的那種方式的簽名,都要使用android tools中的zipalign.exe可執行文件,進行優化處理
C:\Users\Administrator>zipalign -v 4 SmallLink.apk D:\SmallLink.apk
zipalign 提高了程序的效率和穩定性。如果不進行這一步的話,簽好名字的apk文件,有可能無法安裝。