プロジェクトのシナリオ:
使用命令行生成apk的时候自动签名
パッケージ コマンド
Linux
# 同时生成release和debug的apk
./gradlew clean build
./gradlew clean assemble
# 分别打包release和debug的apk
./gradlew clean assembleDebug
./gradlew clean assembleRelease
ウィンドウズ
# 同时生成release和debug的apk
gradlew.bat clean build
gradlew.bat clean assemble
# 分别打包release和debug的apk
gradlew.bat clean assembleDebug
gradlew.bat clean assembleRelease
タスクごとに apk をパッケージ化する
1. タスクを開始する
2. タスク機能を使用してビルドを開始する
解決:
1. まず、署名ファイルを作成する必要があります
Android の公式 Web サイトでは、Android Studio で署名を生成し、その署名を使用して APK をパッケージ化する方法について説明しています。
完全な手順を表示するには、上記の公式 Web サイトを参照してください。公式 Web サイトのスクリーンショットを次に示します (これも十分です)。
2.アプリケーションのbuild.gradleで署名を構成する必要があります
Android gradle の使用スキル、その中には gradle での構成署名が
含まれています.上記の公式 Web サイトのドキュメントには紹介があり、他の gradle の使用スキルは公式 Web サイトで確認できます (結局のところ、本当に多くのことが公式サイト)
- プロジェクトのルートに keystore.properties というファイルを作成し、次の情報を含めます。
以下演示的是放在Project的根目录中,也可以放在Application module的根目录
storePassword=123456
keyPassword=123456
keyAlias=TestKeyAlias
# 放在Project的根目录
storeFile=../keystore.jks
# 放在Application module的根目录
#storeFile=keystore.jks
- build.gradle ファイルで、次のように keystore.properties ファイルをロードします (Android コード ブロックの前にある必要があります)。
// 加载签名文件
def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
...
}
- keystoreProperties オブジェクトに保存されている署名情報を入力します (
需要配置在buildTypes
前):
android {
// 配置签名文件
signingConfigs {
config {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
...
}
}
- 最後に、buildTypes で署名ファイルをリリースおよびデバッグするように構成します。
android {
signingConfigs {
...
}
buildTypes {
// 将签名文件配置release和debug apk
release {
...
signingConfig signingConfigs.config
}
debug {
....
signingConfig signingConfigs.config
}
}
}
全文参照リンク:
1. アプリケーションの署名に関連する手順
2. Android gradle の使用スキル、その中に gradle の構成署名が含まれています
3. Android gradle 構成によって生成された apk の名前と変更された保存場所