發佈Android應用程序過程

提示:本文僅針對Windows平臺。有關Linux平臺,可以參考Android SDK中的Dev Guide中的Publishing->Sign Your Applications中的Basic Setup for Signing一節。

前提: 1、正確安裝JDK,並配置了JAVA_HOME和PATH(JAVA_HOME/bin),因爲要使用到jdk/bin下面的兩個工具:keytool.exe、jarsigner.exe。

2、安裝Android SDK並在PATH中配置了(SDK_HOME/tools),因爲要使用到sdk_home/bin下面的一個工具:zipalign.exe

發佈應用程序步驟:

1、  查看要發佈的應用程序是否已經過以下必須步驟或包含以下必要信息:

         *在真機上進行測試

         *考慮在應用程序中添加最終用戶協議

         *考慮添加授權支持

         *指定一個圖標和標籤在應用程序的Manifest.xml文件中定義

         *清除調試日誌等信息

         *確定你發佈的版本

         *如果應用程序使用到MapView,則需要註冊一個Map api密鑰

2、  數字簽名:

生成證書,命令行:$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

簽名,命令行:$ jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name

驗證是否已簽名,命令行:$ jarsigner -verify -verbose -certs my_application.apk

優化改善應用程序供發佈,命令行:$zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk

創建數字證書需要提供的信息有:證書名稱:

證書密碼:
別名:
名字:
單位名稱:
組織名稱:
城市名稱:

國家名稱:

密鑰主密碼:

3、  發佈應用程序。

發佈到Google Android Market:market.android.com

                   *創建Google Market帳號,註冊成爲開發人員。(需通過信息卡支付註冊費25美元)

                   *註冊成功後,上傳應用程序。點擊發布後,用戶在Google Android Market中就能夠下載使用

國內的Android應用市場


商店名稱

網址

機鋒市場

http://www.gfan.com/app/amarket/

可以自助上傳

愛米軟件商店

http://aimi8.com/download

可以自助上傳

優億市場

http://www.eoemarket.com/

可以自助上傳

掌上應用匯

http://www.appchina.com/about.html

可以自助上傳

安卓市場

http://www.hiapk.com/bbs/Market/index0.htm

可以自助上傳

安智市場

http://market.goapk.com/download.php

可以自助上傳

開奇商店

http://www.kaiqi.com/tianyinhero.html

N多市場

http://nduoa.com/apk/detail/4000

可以自助上傳

安卓星空

http://www.starandroid.com/apkclient

可以自助上傳

巴士商店

http://android.tgbus.com/Ashop/

XDA市場

http://android.xda.cn/detail.php?swid=157

安豐下載

http://www.anfone.com/

歷趣安卓市場

http://rj.liqucn.com/111/11114.shtml

聯想應用

tp://www.lenovomm.com/appstore/

芒果有渠道

歐米

http://app.mobiomni.com/

可以自助上傳

HTC市場                     http://htc.appstoreconnect.com/

中國聯通沃商店         http://store.wo.com.cn/


1.Eclipse中,選擇Android Tools->Export Unsigned Application Package... , 接下來,系統會提示你輸入apk文件的保存地址。這樣我們就編譯生成了發佈版的未簽名的apk文件. eg.sdialer.apk

2.完成了發佈版的編譯,接下來是獲取私鑰,會用到JDK下的兩種工具:keytool和jarsigner. keytool是生成私鑰的工具。

keytool命令的解釋:
-genkey                                   產生一個密鑰對(公鑰和私鑰)

-v                                        開啓詳細輸出

-keystore<keystore-name>.keystore         包含私鑰的keystore名稱

-storepass<password>                      keystore的密碼。安全起見,通常建議不要在命令行輸入這個選項,如果你不提供這個選項,keytool就會提示你輸入密碼,這樣你的密碼就不會保存在shell歷史中。

-alias<alias_name>                        密鑰的別名
-keyalg<alg>                              產生密鑰的加密算法,可以採用DSA和RSA中的一種

-dname                                    用於描述密鑰的產生者。這個值將作爲自簽名證書中的發佈者。如果你此時沒有輸入,那麼在執行簽名時,jarsigner會提示你輸入dname(distinguished  name)

-validity                                 密鑰的有效期,這裏以天來計算。我們通常建議大於10000天

-keypass<password>                        密鑰的密碼,安全起見,通常建議不要在命令行輸入這個選項,如果你不提供這個選項,keytool就會提示你輸入密碼,這樣你的密碼就不會保存在shell歷史中。

jarsigner命令解釋:

-keystore                          包含私鑰的keystore
<keystore-name>.keystore

-verbose                           開啓詳細輸出

-storepass<password>               keystore的密碼,安全起見,通常建議不要在命令行輸入這個選項,如果你不提供這個選項,jarsigner就會提示你輸入密碼,這樣你的密碼就不會保存在shell歷史中。

-keypass<password>                 密鑰的密碼,安全起見,通常建議不要在命令行輸入這個選項,如果你不提供這個選項,jarsigner就會提示你輸入密碼,這樣你的密碼就不會保存在shell歷史中。

eg.
keytool -genkey -v -keystore s-dialer.keystore -alias sdialer_name -keyalg RSA -validity 10000
輸出一個s-dialer.keystore,密鑰別名爲sdialer_name。有了密鑰,我們就可以用它來進行簽名。簽名工具是jarsigner.
eg. jarsigner -verbose -keystore s-dialer.keystore sdialer.apk sdialer_name
這樣,就爲應用程序sdialer.apk完成了簽名



應用程序的版本
Android應用程序主要通過androidmanifest.xml中的android:versionCode和android:versionName來實現版本管理的



如何用eclipse打簽名包:

1.Eclipse工程中右鍵工程,彈出選項中選擇 android工具-生成簽名應用包:

 

2.選擇需要打包的android項目工程:

 

3.如果已有私鑰文件,選擇私鑰文件輸入密碼,如果沒有參見第6和7步創建私鑰文件:

4.輸入私鑰別名和密碼:

5.選擇APK存儲的位置,並完成設置 開始生成:

 

6.沒有私鑰文件的情況,創建私鑰文件:

7.輸入私鑰文件所需信息,並創建:

 

*自己的一點補充:SDK的安裝目錄最後不要有中文和空格,否則會出現不必要的錯誤。如果你的安裝路徑包含Program Files(有空格),用ADT打包會報錯,Ant方式打包的也會報錯,沒關係,不用重裝,解決方法:配置SDk環境變量和在Eclipse中配置SDK路徑的時候把Program Files改爲Progra~1即可。(而且改成其他的都不行,只能是Progra~1,不信試試,這是Dos的規格)。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章