如何發佈android應用程序

如何發佈android應用程序
http://blog.chinaunix.net/space.php?uid=20665441&do=blog&id=305500

主要講的是應用程序數字簽名


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來實現版本管理的


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