天天看點

Android apk簽名的兩種方法

編輯推薦:稀土掘金,這是一個針對技術開發者的一個應用,你可以在掘金上擷取最新最優質的技術幹貨,不僅僅是Android知識、前端、後端以至于産品和設計都有涉獵,想成為全棧工程師的朋友不要錯過!

為了保證每個應用程式開發商合法ID,防止部分開放商可能通過使用相同的Package Name來混淆替換已經安裝的程式,我們需要對我們釋出的APK檔案進行唯一簽名,保證我們每次釋出的版本的一緻性(如自動更新不會因為版本不一緻而無法安裝)。

在這裡介紹兩種簽名的方法如下:

1、在指令行對apk簽名:

建立key,需要用到keytool.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目錄下),使用産生的key對apk簽名用到的是jarsigner.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目錄下),把上兩個軟體所在的目錄添加到環境變量path後,打開cmd輸入

C:\Documents and Settings\mzba>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore

相關說明:

      -genkey 産生密鑰

      -alias demo.keystore 别名 demo.keystore

      -keyalg RSA 使用RSA算法對簽名加密

      -validity 40000 有效期限4000天

      -keystore demo.keystore

C:\Documents and Settings\mzba>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore

相關說明:

      -verbose 輸出簽名的詳細資訊

      -keystore  demo.keystore 密鑰庫位置

      -signedjar demor_signed.apk demo.apk demo.keystore 正式簽名,三個參數中依次為簽名後産生的檔案demo_signed,要簽名的檔案demo.apk和密鑰庫demo.keystore.

注意事項:android工程的bin目錄下的demo.apk預設是已經使用debug使用者簽名的,是以不能使用上述步驟對此檔案再次簽名。正确步驟應該是:在工程點選右鍵->Anroid Tools-Export Unsigned Application Package導出的apk采用上述步驟簽名。