生成簽名文件是使用JDK bin目錄下keytool工具:
首先,我們需要一個keystore,當然已經有了的話就不用這一步了:
C:\Program Files (x86)\Java\jdk1.7.0_67\bin>keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
輸入密鑰庫口令:
再次輸入新口令:
您的名字與姓氏是什麼?
[Unknown]: barry
您的組織單位名稱是什麼?
[Unknown]: com.android.barry
您的組織名稱是什麼?
[Unknown]: com.android.barry
您所在的城市或區域名稱是什麼?
[Unknown]: china
您所在的省/市/自治區名稱是什麼?
[Unknown]: china
該單位的雙字母國家/地區代碼是什麼?
[Unknown]: china
CN=barry, OU=com.android.barry, O=com.android.barry, L=china, ST=china, C=china是否正
確?
[否]: Y
輸入 <android.keystore> 的密鑰口令
(如果和密鑰庫口令相同, 按回車):
其中參數-validity爲證書有效天數,這裏我們寫的大些10000天。還有在輸入密碼時沒有回顯(儘管輸就是啦) 並且 退格,tab等都屬於密碼內容,這個密碼在給.apk文件簽名的時候需要.
然後簽名:
Eclipse中,右擊需要簽名的工程-->android tools-->export signed application package...
出現下面對話框,選擇需要簽名的工程
next,選擇上面生成的android.keystore文件位置和設置的密碼
next
next,選擇簽名生成文件的位置和名稱
finish,搞定啦...
也許有人會遇到問題:keytool 錯誤: java.io.FileNotFoundException: android.keystore (拒絕訪問。)
那是因爲沒有寫入權限。
解決方法1:右鍵命令提示符,選擇“以管理員身份運行”;
解決方法2:配置好環境變量,在別的盤裏面生成簽名文件。
=======================================================================================
Debug模式下的簽名
Android build tools 提供了debug簽名模式, 幫助簡化應用的開發和調試, 而仍然符合Android系統簽名.apk的需求. 當使用debug模式來構建app時, SDK 工具調用 Keytool來自動創建一個用於debug的 keystore 和 key. 然後這個debug key被用來自動簽名 .apk, 所以不必用自己的key來簽名包.
SDK 工具使用預定義的 名稱/密碼 來創建keystore/key :
- Keystore name: "debug.keystore"
- Keystore password: "android"
- Key alias: "androiddebugkey"
- Key password: "android"
- CN: "CN=Android Debug,O=Android,C=US"
如有必要, 可以更改 debug keystore/key 的 location/name 或自己提供一個自定義的 debug keystore/key. 然而, 任何自定義的debug keystore/key必須使用和默認debug key(如之前所述)相同的debug keystore/key 名稱和密碼. (Eclipse/ADT中, Windows > Preferences > Android > Build)
參考:http://www.wosign.com/Support/Android_DigitalID.htm注意: 當用debug證書籤名時, 應用程序不能對外發布.