android 生成簽名文件與APK打包(學習筆記)

生成簽名文件是使用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)

注意: 當用debug證書籤名時, 應用程序不能對外發布.

參考:http://www.wosign.com/Support/Android_DigitalID.htm


發佈了59 篇原創文章 · 獲贊 29 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章