Andriod系統要求所有的程式經過數位簽章才能安裝。
在release模式下編譯器, 在Package面版上按project右鍵,選擇Android Tools>Export Application Package.或者你可以點擊Manifest Editor, overview 頁面上的“Exporting the unsigned .apk”串連 ,匯出未簽名apk檔案。儲存.apk檔案之後,用Jarsigner及你自己的密鑰給apk檔案簽名 ,如果沒有密鑰, 你可以用Keystore建立密鑰和密鎖。如果已經有一個密鑰了,如公用密鑰,就可以給.apk檔案簽名了。
Android程式的簽名和Symbian類似都可以自簽名(Self-signed),但是在Android平台中認證初期還顯得形同虛設,平時開發時通過ADB介面上傳的程式會自動被簽有Debug許可權的程式。需要簽名驗證在上傳程式到Android Market上時大家都已經發現這個問題了。Android signed製作方法
首先在Android開發時沒有安裝JDK的網友在Sun官方網站下載JDK:http://www.java.net/download/jdk ... 6-p-12_sep_2008.exe,其實僅需要中的Keytool和Jarsigner詳細的簽名步驟:
第一步
- C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias android123.keystore
- -keyalg RSA -validity 20000 -keystore android123.keystore
輸入keystore密碼:[密碼不回顯]
再次輸入新密碼:[密碼不回顯]
您的名字與姓氏是什麼
[Unknown]: android123
您的組織單位名稱是什嗎?
[Unknown]: www.android123.com.cn
您的組織名稱是什嗎?
[Unknown]: www.android123.com.cn
您的組織名稱是什嗎?
[Unknown]: www.android123.com.cn
您所在的城市或地區名稱是什嗎?
[Unknown]: New York
您所在的州或省份名稱是什嗎?
[Unknown]: New York
該單位的兩字母國家代碼是什麼
[Unknown]: CN
- CN=android123, OU=www.android123.com.cn, O=www.android123.com.cn, L=New York, ST
=New York, C=CN 正確嗎?
[否]: Y
輸入<android123.keystore>的主密碼。如果和 keystore 密碼相同,按斷行符號):
其中參數-validity為認證有效天數,這裡我們寫的大些20000天。還有在輸入密碼時沒有回顯,只管輸入就可以了,一般位元建議使用20位,最後需要記下來後面還要用。
接下來我們開始為apk檔案簽名了。
第二步
執行下面這句
- jarsigner -verbose -keystore android123.keystore -signedjar android123_signed.apk android123.apk android123.keystore
就可以生辰簽名的apk檔案,這裡輸入檔案android123.apk,最終產生android123_signed.apk為Android簽名後的 APK執行檔案。下面提示輸入的密碼和keytool輸入的一樣就行了,:
本人測試時使用:jarsigner -verbose -keystore android123.keystore android123.apk android123
有關Android程式發布和簽名可以查看SDK中 http://code.google.com/android/devel/sign-publish.html 一文.
附上keytool參數以及jarsigner參數: