Android 命令列構建和簽署APK

2021-08-11 09:08:03 字數 1472 閱讀 8249

1.jdk

2.sdk

3.gradle

本文主要是不需要通過 androidstudio 完整編譯打包簽名生成apk的過程,可以通過sdk中的apksigner工具完成,也在和使用gradle來完成。

首先使用 keytool 生成乙個私鑰,keytool 位於 jdk 中的 bin/ 目錄中,開啟命令列輸入:

keytool -genkey -v -keystore ruomiz-release-key.jks

-keyalg rsa -keysize 2048 -validity 10000 -alias ruomiz

會在當前目錄生成乙個ruomiz-release-key.jks的檔案 採用的rsa非對稱加密,標誌名為 my-alias,有效期為10000天。

1.構建apk

開啟命令列,切換到專案根目錄,或者在專案根目錄下開啟命令列

gradlew assemblerelease

//gradlew assembledebug 構建除錯的apk

執行完成後會在 module 的 build/outputs/apk 中建立乙個未簽名的 apk。這個 apk 暫未簽名,需要用私鑰簽名。

2.對齊未簽署的apk

使用 zipalign 對齊 apk,在 sdk 的 build-tools 下面,需要把上面生成的 apk 拷貝進去:

為了方便檢視我將 apk 改了名字

執行成功以後會生成乙個對齊的 apk

3.使用私鑰簽署 apk

apksigner 和 zipalign 都在 sdk 的 build-tools 目錄下,將 keytools 生成的簽名檔案( jks 檔案)拷貝進來:

可以驗證apk是否簽署成功:

按照上述步驟已經生成簽名的apk

首先需要配置jks的簽名檔案,然後將生成的簽名檔案(jks)拷貝到專案 module下

在專案模組 build.gradle 下新增

android 

signingconfigs

}buildtypes }}

簽名檔案需要和build.gradle檔案在同一目錄。

進入專案所在根目錄shift+滑鼠右鍵 ,以命令列形式開啟,執行:

gradlew assemblerelease
驗證:

可以將生成的 apk 解壓 然後 meta-inf 中 有 cert.rsa 檔案,命令列切換目錄到解壓目錄,執行:

keytool -printcert -file meta-inf/cert.rsa
會出現jks的簽名資訊

Android 命令列構建和簽署APK

1.jdk 2.sdk 3.gradle 本文主要是不需要通過 androidstudio 完整編譯打包簽名生成apk的過程,可以通過sdk中的apksigner工具完成,也在和使用gradle來完成。首先使用 keytool 生成乙個私鑰,keytool 位於 jdk 中的 bin 目錄中,開啟命...

Android 命令列構建和簽署APK

1.jdk 2.sdk 3.gradle 本文主要是不需要通過 androidstudio 完整編譯打包簽名生成apk的過程,可以通過sdk中的apksigner工具完成,也在和使用gradle來完成。首先使用 keytool 生成乙個私鑰,keytool 位於 jdk 中的 bin 目錄中,開啟命...

打造乙個全命令列的 Android 構建系統

ide都是給小白程式設計師的,大牛級別的程式設計師一定是命令列控,終端控,你看大牛都是使用vim,emacs 就一切搞定 這話說的雖然有些絕對,但是也不無道理,做開發這行要想效率高,自動化還真是缺少不了命令列工具,因為只有命令列才是最佳的人機互動工具。其實ide也是底層也是呼叫命令列工具而已,只不過...