コマンドラインからAndroid SDKを使用してapkファイルを作成しました。GooglePlayストアにアップロードした後、apkに署名する必要があります。これを行う方法を教えてください。
まず、秘密署名鍵を生成する必要があります
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
このコマンドは、キーストアとキーのパスワードを要求します(いくつかの追加フィールドも)。 keystore file privateをいつでも保持することを忘れないでください。
次に、gradleをセットアップする必要があります
my-release-key.keystore
の下に、ステップ1で生成したAndroid/app
を配置します~/.gradle/gradle.properties
の下のAndroid/app
を更新し、以下を追加します
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=<The password you choose earlier with the keytool>
MYAPP_RELEASE_KEY_PASSWORD=<The password you choose earlier with the keytool>
最後に、Android/app/build.gradle
を更新する必要があります。
Android {
...
defaultConfig { ... }
signingConfigs {
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
これで、Androidディレクトリで次のコマンドを実行することにより、コマンドラインから署名付きリリースを簡単に生成できます
./gradlew assembleRelease
生成されたapkは、build/outputs/apk/release
ディレクトリの下にあります。
まず、プロセスを開始するためにキーストアが必要です。このキーストアを使用してapkに署名します。今後の更新のために同じキーストアで署名する必要があります。キーストアの詳細については、こちらをご覧ください: https://developer.Android.com/studio/publish/app-signing#generate-key
キーストアを生成したら、jarsigner
ユーティリティ(JDKフォルダーにあります)
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore your-release-key.keystore Android-release-unsigned.apk alias -storepass password
zipalign
ツール(Android SDKフォルダーで利用可能))を使用してapkを検証することです。path-to-Android-sdk/build-tools/version/zipalign -v 4 Android-release-unsigned.apk Android-prod-released-signed.apk
apksigner
ツールで確認することです(Android SDKフォルダーで利用可能)path-to-Android-sdk/build-tools/version/apksigner verify Android-prod-released-signed.apk
PS:パス、ファイル、パスワードを実際の値に置き換えます
次のコマンドに従って、apk Playストアを準備します。
ステップ1:署名されていないapkを作成します
./gradlew assembleRelease
ステップ2:署名済みapkを作成:
jarsigner -keystore YOUR_KEYSTORE_PATH -storepass YOUR_KEYSTORE_PASSWORD app/build/outputs/apk/release/app-release-unsigned.apk YOUR_KEY_ALIAS
ステップ3:apkのZipaligning:
your_Android-sdk_path/Android-sdk/build-tools/your_build_tools_version/zipalign -v 4 app/build/outputs/apk/release/app-release-unsigned.apk release.apk