本指南將帶領你完成使用 Kotlin 進行 Android 應用開發的基本流程,包括構建應用、生成密鑰庫、簽名應用、驗證簽名,以及對 APK 進行對齊的步驟。
確保你的 Gradle 包裝器 (gradlew) 是可執行的。你可以使用以下指令透過 Docker 來建置環境。
docker build -t android-kotlin .
docker run -it --rm -v $(pwd):/app -w /app android-kotlin /bin/bash或是直接執行 ./dockershell 來進入容器。
然後構建整個項目,包括 Debug 和 Release 版本。
chmod +x gradlew
./gradlew build
./gradlew assembleDebug
./gradlew assembleRelease使用 keytool 生成密鑰庫和密鑰。
keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000-genkeypair 表示生成一對公鑰和私鑰。-v 表示詳細模式。-keystore my-release-key.keystore 表示生成的密鑰庫的名稱。-alias my-key-alias 表示生成的密鑰的別名。-keyalg RSA 表示使用 RSA 算法生成密鑰。-keysize 2048 表示生成的密鑰的大小。-validity 10000 表示密鑰的有效期為 10000 天。
以下命令示例展示了如何提供 Distinguished Name (DN) 信息。
keytool -genkeypair -v \
-keystore my-release-key.keystore \
-alias my-key-alias \
-keyalg RSA \
-keysize 2048 \
-validity 10000 \
-storepass <密鑰庫密碼> \
-keypass <密鑰密碼> \
-dname "CN=<你的名字>, OU=<你的組織單位>, O=<你的組織>, L=<你的城市>, S=<你的州或省>, C=<你的國家代碼>"將 <密鑰庫密碼>、<密鑰密碼>、<你的名字>、<你的組織單位>、<你的組織>、<你的城市>、<你的州或省> 和 <你的國家代碼> 替換成你的實際資訊。
使用 jarsigner 為你的應用簽名。
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore my-release-key.keystore app/build/outputs/apk/release/app-release.apk my-key-alias記得替換 <密鑰庫密碼> 和 <密鑰密碼> 為你的實際密碼。
確保你的應用已經被正確簽名。
jarsigner -verify -verbose -certs app/build/outputs/apk/release/app-release.apk使用 zipalign 工具優化 APK,提高應用的運行效率。
zipalign -v 4 app/build/outputs/apk/release/app-release.apk app-release-aligned.apk