1. 程式人生 > 其它 >Android Studio 生成 keystore 簽名檔案及打包驗證流程

Android Studio 生成 keystore 簽名檔案及打包驗證流程

前言

Android應用必須進行數字簽名才可以釋出,也就是我們平時所說的使用證書打包然後上傳市場,其中數字證書的私鑰由應用開發者持有。
生成簽名的方式有很多種,今天我們來講如何通過AS建立簽名流程。

一、建立keystore簽名檔案

1、在選單欄中,依次點選 Build - Generate Signed Bundle/Apk...(生成簽名)

2、選擇 APK 選項,點選按鈕 Next 到下一步

3、新建key store祕鑰檔案,點選按鈕 Next 到下一步

4、按如下提示填寫資訊,點選按鈕 Next 到下一步

5、簽名生成完成,勾選記住密碼,方便下次打包

6、勾選簽名效驗方式,選擇要打包的環境,點選按鈕 Next 開始打包

7、見到如下提示,說明打包成功

二、獲取簽名檔案的配置資訊

終端執行如下命令:
keytool -list -v -keystore 你的keystore檔案的絕對路徑
輸入 keystore 的密碼後,就可以在終端上看到 keystore 簽名檔案的配置資訊了,如下圖所示

三、專案中配置簽名信息

1、在選單欄中,依次點選 File - Project Structure

2、依次點選 Module - app - Signing Configs - +,然後新增剛才生成的正式簽名

3、點選Apply ,再點選ok,完成新增配置

4、點選按鈕 ok 後,Android Studio 會自動在app模組的build.gradle中添加簽名資訊,如下圖所示

5、簽名配置成功後,把簽名檔案和環境關聯,參照1流程,在Build Types裡面進行設定

四、驗證簽名是否成功

方法一(keytool,只支援V1簽名校驗)
    進入JDK/bin, 輸入命令
    keytool -printcert -jarfile xxx.apk (顯示簽名證書資訊)

    引數:
        -printcert           列印證書內容
        -jarfile <filename>  已簽名的jar檔案 或apk檔案   
    
方法二(apksigner,支援V1和V2簽名校驗)
    進入Android SDK/build-tools/SDK版本, 輸入命令
    apksigner verify -v --print-certs xxx.apk
    
    引數:
        -v, --verbose 顯示詳情(顯示是否使用V1和V2簽名)
        --print-certs 顯示簽名證書資訊

第一步我們在生成簽名後,在指定資料夾下生成了一個 release 版的 apk 包,現在我們用方法二驗證APK的證書鏈,在終端輸入如下命令:
apksigner verify -v --print-certs 安裝包路徑.apk
輸入 以上命令後,就可以在終端上看到 keystore 簽名檔案的配置資訊了,如下圖所示

原創文章,有什麼不對的地方歡迎指正,一起進步!