01_Android應用開發環境_05_簽名android應用程式

來源:互聯網
上載者:User

標籤:

背景:

Android項目以他的包為唯一標識,如果一台裝置上安裝了兩個包名相同的應用,後安裝的應用就會覆蓋前面安裝的應用。

目的:

為了避免覆蓋的情況,Android要求對作為成品的應用進行簽名。

作用:

  • 確定發行者身份。
  • 確保應用的完整性。
在Eclipse的ADT外掛程式或Ant工具會自動產生調試認證對Android應用簽名。如果要正式發布一個Android應用,必須使用合適的數位憑證來給應用程式簽名,不能使用ADT或者Ant工具產生的調試認證來發布。

在Eclipse中對Android應用簽名

1、右擊項目,Android Tools→Export Singned Application Package…

2、如果系統中沒有數位憑證,可以在視窗中選擇"Create new keystore"單擊按鈕,填寫數位憑證的儲存路徑和密碼。

3、填寫完成後Next,Eclipse將會彈出讓使用者填寫數位憑證的詳細資料。

4、Next,指定產生簽名後的APK安裝包的儲存路徑。

5、Finish。這樣就會在指定目錄下產生一個簽名後的APK安裝包。

一旦數位憑證製作完成,以後就可以最直接使用該認證簽名了。

使用命令對APK進行簽名

1、建立keysrore庫,JDK的安裝目錄下面的BIN中有一個keytool.exe工具產生數位憑證。

keytool -genkeypair    -alias    -keyalg   -validity   -keystore 

  • -genkeypair:指定產生數位憑證
  • -alias:指定產生數位憑證別名
  • -kayalg:指定產生數位憑證的算嗎,使用RSA演算法
  • -validity:指定產生的數位憑證的有效期間
  • -keystore:指定所產生的數位憑證的儲存路徑
輸入命令後斷行符號,接著安裝互動式介面輸入相關參數。

2、產生為簽名的apk,Android Tools→Export Unsigned Application Package…

3、使用jarsigner命令對未簽名的APK進行簽名,JDK的Bin子目錄下面

jarsigner -verbose -keystore -signedjar

說明:

  • -verbose:指定產生詳細輸出
  • -keystore:指定數位憑證儲存路徑
  • -singedjar:有三個參數分別是簽名後apk包、未簽名的APK包、數位憑證的別名。
  • 斷行符號,以互動的方式輸入數位憑證keystore的密碼。

4、使用zipalign.exe工具最佳化APK安裝包。

zipalign -f -v 4 a.apk a_zip.apk

  • -f:指定強制覆蓋已有檔案
  • -v:指定產生詳細輸出
  • 4:指定檔案整理所基於的位元組數,通常指定為4,也就是基於32為進行整理。
  • a.apk、a_zip.apk:分別指定整理前的APK和整理後產生的APK。

01_Android應用開發環境_05_簽名android應用程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.