APK如果使用一個key簽名,發布時另一個key簽名的檔案將無法安裝或覆蓋老的版本,這樣可以防止你已安裝的應用被惡意的第三方覆蓋或替換掉,這個很有用哦。
目前Google在Android系統方面的態度和策略也都是非盈利性質的,和Symbian的簽名有本質的區別,而我們使用Eclipse+ADT外掛程式從開發環境安裝到手機中的APK檔案已經包含了ADT外掛程式的Debug簽名檔案,所以沒有安裝,但是最終發行的版本需要自己的key去簽名。
Android產生keystore
首先,我們需要一個keystore,當然已經有了的話就不用這一步了:
cmd下:
進入到jdk的bin目錄,這樣的話,android.keystore檔案就會產生在這個目錄下,簽名的時候我們需要這個檔案
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
輸入keystore密碼:
再次輸入新密碼:
您的名字與姓氏是什嗎?
[Unknown]: qiaoling您的組織單位名稱是什嗎?
[Unknown]: www.chinaandroid.com
您的組織名稱是什嗎?
[Unknown]: www.chinaandroid.com
您所在的城市或地區名稱是什嗎?
[Unknown]: haidian
您所在的州或省份名稱是什嗎?
[Unknown]: BJ
該單位的兩字母國家代碼是什麼
[Unknown]: 86
CN=qiaoling, OU=www.chinaandroid.com, O=www.chinaandroid.com, L=haidian, ST=BJ, C=86 正確嗎?
[否]: Y
輸入<android.keystore>的主密碼(如果和 keystore 密碼相同,按斷行符號):
其中參數-validity為認證有效天數,這裡我們寫的大些10000天。還有在輸入密碼時沒有回顯(儘管輸就是啦) 並且 退格,tab等都屬於密碼內容,這個密碼在給.apk檔案簽名的時候需要.
然後簽名:
Eclipse中,右擊需要簽名的工程-->android tools-->export signed application package...
出現下面對話方塊,選擇需要簽名的工程
next,選擇上面產生的android.keystore檔案位置和設定的密碼
next
next,選擇簽名組建檔案的位置和名稱
finish,搞定啦...