APK簽名流程介紹

實際上,現在Android開發IDE自帶簽名功能,但是有時我們還是可能遇到自己簽名apk的場景的,比如你有一個未簽名的apk,但是你要adb install到device上,這時我們在adb install之前就必須對該apk進行簽名處理才能install成功,這篇文章就簡單的介紹下apk簽名流程吧。

1、生成簽名證書

簽名需要簽名證書,簽名證書類型實際上是有很多的,如jks、keystore等,這裏以生成keystore爲例來生成一個yjing.keystore簽名證書文件。

本文利用JDK 下的keytool工具來生成keystore文件,相信配置好Android開發環境的童鞋應該都不會遇到keytool工具找不到的問題,這裏直接使用命令

keytool -genkey -alias keyAlias -keyalg RSA -validity 20000 -keystore yjing.keystore

以上命令各參數含義如下:

-genkey 生成文件

-alias 別名

-keyalg 加密算法

-validity 有效期(天)

-keystore 文件名

就這樣,我們生成了一個yjing.keystore的簽名文件,實際上在簽名過程中需要填寫一些基本信息,這個隨便填填就行了,然後在簽名成功後會發現有如下提示
這裏寫圖片描述

可以看到keytool工具現在已經推薦使用JKS的簽名證書了,這個不管,反正我們已經拿到yjing.keystore了(我生成的yjing.keystore文件在C://users/對應用戶名下)。

2、對apk進行簽名

對apk簽名還是利用JDK下的jarsigner工具來進行,我們通過如下命令來簽名


jarsigner -verbose -keystore yjing.keystore -signedjar signed.apk unsigned.apk keyAlias

這裏也說說參數吧
-verbose 輸出簽名的詳細信息

-keystore 密鑰庫位置 後面跟簽名證書文件路徑

-signedjar 表示進行簽名操作

signed.apk 生成的簽名文件(不是當前路徑時,需添加路徑)

unsigned.apk 表示未簽名文件

yjing.keystore 簽名證書文件

keyAlias 生成簽名時候的別名

通過以上命令也就能成功生成簽名apk文件signed.apk了

參考文獻

1、手把手,教你怎樣用命令行給apk簽名
2、生成簽名證書keystore

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