1. 程式人生 > >Android程式打包成apk檔案

Android程式打包成apk檔案

問:為什麼要簽名?

答:開發Android的人那麼多,完全有可能大家都把類名、包名起成相同的名字,這時如何區分?簽名就是起區分作用的。

由於開發商可能通過使用相同的Package Name來混淆替換已經安裝的程式,簽名可以保證相同名字,但是簽名不同的包不被替換。

APK如果使用一個key簽名,釋出時另一個key簽名的檔案將無法安裝或覆蓋老的版本,這樣可以防止已經安裝的應用被惡意的第三方覆蓋或替換掉。

這樣簽名其實也是開發者的身份標識。交易中抵賴等事情發生時,簽名可以防止抵賴的發生。

簽名的注意事項:

1)所有的Android應用都必須有數字簽名,沒有不存在數字簽名的應用,包括模擬器上執行的。Android系統不會安裝沒有數字證書的應用。

2)簽名的數字證書不需要權威機構來認證,是開發者自己產生的數字證書,即所謂的自簽名。

3)正式釋出一個Android應用時,必須使用一個合適的私鑰生成的數字證書來給程式簽名,不能使用ADT外掛或者ANT工具生成德除錯證書來發布。

4)數字證書都是有有效期的,Android只是在應用程式安裝的時候才會檢查證書的有效期。如果程式已經安裝在系統中,即使證書過期也不會影響程式的正常功能。

簽名的方法:

1:開啟Eclipse->選擇你要簽名的專案->右擊->Android Tools->Export Signed Application Package 彈出如下視窗


因為這是第一次簽名,還沒有簽名證書,所以先Create new keycodes ,以後就不用再建立了,直接選擇已存在的證書。


填入證書存放的位置Location 和證書的密碼 Password ,然後點選Next>

2:


填寫簽證的資訊,包括:別名,密碼,有效期,姓名,組織,組織名稱,所在城市,所在省份,國家等,然後Finish。

3:點選Browse ,彈出一個視窗,選擇你要儲存apk包的位置


點選Finish 完成。

在相應的目標APK資料夾下就可以找到生成的.apk檔案


我們可以把testAndroid.apk檔案釋出到Internet上,也可以將該檔案釋出到Google的Android Market中,別人就可以下載它,並安裝到手機上去。