如何提交程式到Android Market2011/04/02 13:48
給你的程式簽名
概述
注意事項:
所有提交到Market的程式必須經過簽名。未經簽名的程式不能安裝。
你可以使用個人認證去簽名程式,不一定要經認證機構授權。
用Debug版本認證簽名的程式將不能發布。
在安裝程式時會檢測簽署憑證是否到期。如果程式在安裝後認證到期,程式也能正常使用。
你可以使用keytool和Jarsigner產生密鑰並簽名你的程式。
l你的程式在簽名後還需要使用zipalign去最佳化。
建議:
用同一密鑰簽名所有程式,以保證程式的無縫升級。
認證的有效期間最好在25年以上。發布到Market的程式中認證有效期間必須在2033年10月22日以後。
如何簽名
除了下面提到的方法,還有一種利用GUI來編譯的方法。
在
Eclipse中Package Explorer裡選擇要編譯的工程,File->Export, 開啟Android檔案夾,選擇Export
Android Application,一步一步完成嚮導即可。這樣程式就會編譯,簽名,最佳化,可以直接發布到Market了。
擷取合適的私人密鑰
通過Keytool去產生私人密鑰。Keytool在JDK/bin目錄裡(比如C:\Program Files\Java\jdk1.6.0_20\bin)。 Keytool參數
描述
-genkey
產生公開金鑰和私密金鑰
-v
輸出詳細資料
-keystore <keystore-name>.keystore
產生的keystore檔案名稱
-alias <alias name>
此密鑰的別名。只保留前8位字元
-keyalg <alg>
密碼編譯演算法。支援DSA和RSA
-dname <name>
用於描述此密鑰的建立者資訊。如果沒有提供,Jarsigner會提示你輸入這些資訊
-validity <valdays>
密鑰有效期間,按天數。最好>10000
例如:keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000
更多關於keytool的資訊:http://java.sun.com/j2se/1.5.0/docs/tooldocs/#security
編譯Release版本程式
在
release狀態下程式是未經簽名的。在Eclipse中匯出未經簽名的release版本apk檔案。在Package
Explorer中找到要編譯的工程,右擊選擇Android Tools->Export Unsigned Application
Package
用私人密鑰簽名
通過Jarsigner來使用私人密鑰簽名。
例如:jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name
驗證已簽名程式:jarsigner -verify my_signed.apk
最佳化APK檔案
通過zipalign來最佳化apk檔案。Zipalign可以在Andorid SDK/tools目錄下找到。
例如:zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk
your_project_name-unaligned.apk是輸入,your_project_name.apk是輸出。如果要覆蓋已有檔案,需要加上-f參數
添加版本資訊
主要有兩方面,一個是程式的版本號碼,另外一個是程式中要求的系統API版本號碼。二者都需要在AndroidManifest.xml中設定。
程式版本號碼
Android:versionCode: int類型,只能是整數。別的程式在調用時要用到,終端使用者無法看到。
Android:versionName: 字串類型。就是給終端使用者看的。
程式要求的系統API版本號碼
Android:minSdkVersion: 要執行此程式需要的最低的系統API版本
Android:targetSdkVersion: 此程式設計時的目標系統API版本
Android:maxSdkVersion: 此程式設計時支援的最高的系統API版本
準備發布
發布前的檢查列表:
在考慮發布程式之前
1. 在真實裝置上進行完整的測試
2. 考慮在程式中添加終端使用者許可協議
3. 在程式中添加表徵圖和標題
4. 關閉並清理log和debug資訊
在進行最後的編譯之前
5. 添加版本號碼 (這個用到了版本號碼,是不是在這裡添加之後使用者就可以看見了.)
6. 擷取合適的密鑰
7. 如果用到了Mapview元素,請註冊Maps API key
在程式編譯完成後
8. 對程式進行簽名
9. 測試編譯好的程式
發布程式到Android Market
1. 註冊帳號:http://market.android.com/publish
2. 在提交程式之前,必須確保程式符合Android Market 伺服器的要求:
(1) 對程式簽名的私人密鑰有效期間必須在2033年10月22日之後。
(2) 程式中必須設定了android:versionCode和android:versionName。前者用於程式的更新,後者會展示給終端使用者。
(3) 在程式的manifest中必須定義了android:icon和android:label。