2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GooglePlayにAppBundleをコマンドでアップロード

Last updated at Posted at 2019-03-11

前回の「deploygateにapkをコマンドでアップロード」に続き、GooglePlayへの本番アプリのリリースも自動化にも取り組みました。
今まではAndroidStudio上の操作でAppBundleファイルを作成し、GooglePlayへのアップロードは手動でやっていましたが、作業の効率化やミス防止やCI導入を見据えて一連の作業をコマンド化しています。

AppBundleの導入

AppBundleの詳細についてはこちら。すでに導入している場合はスキップしてください。

1. アプリ署名への登録

GooglePlayConsoleを開き、「登録するアプリ > リリース管理 > アプリの署名」を選択します。利用規約が表示されるので、内容を確認して問題なければアプリを登録しましょう。

2. 秘密鍵のエクスポートと暗号化

まだ秘密鍵をエクスポートしていないと思うので、まずはエクスポートと暗号化を行います。合意後に表示されている画面の指示に従い、PEPKツールをダウンロードしましょう。PEPKツールで既存のkeystoreから秘密鍵のエクスポートと暗号化をおこないます。

$ java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=encrypted_private_key_path --encryptionkey=xxxxxxxxx
3. 暗号化された秘密鍵をアップロード

出力されたencrypted_private_key_pathを表示されている画面上のボタンからGooglePlayへアップロードします。新たにアップロード鍵を生成して使用する場合はこちらを参考に。

gradle-play-publisherの導入

GooglePlayへのアップロードには、gradle-play-publisherを利用します。

1. GooglePlayConsoleとGoogleAPIConsole上のプロジェクトをリンク

GooglePlayConsoleの「設定 > APIアクセス」を開き、プロジェクトをGooglePlayにリンクさせます。プロジェクトが表示されない場合はGoogleAPIConsole上で新規作成し、GooglePlayAndroidDeveloperAPIを有効にしましょう。

スクリーンショット 2019-02-28 14.51.22.png
2. サービスアカウントキー(JSON)のダウンロード

続いて表示されている画面の「サービスアカウントを作成」ボタンをクリックし、GoogleAPIConsoleでのサービスアカウント作成に進みます。画面の指示に従いサービスアカウントを作成したら、「認証情報 > 認証情報の作成 > サービスアカウントキー」 にてサービスアカウントキー(JSON)をダウンロードします。

スクリーンショット 2019-03-01 13.54.47.png
3. 作成したサービスアカウントからのアクセスを許可

作成が完了するとGooglePlayConsoleの画面上の「サービスアカウント」欄に作成したサービスアカウントが表示されます。「アクセスを許可」ボタンから適切な権限を設定しましょう。

4. build.gradleの設定

app下のbuild.gradleに記述を追加します。

build.gradle
plugins {
    id 'com.android.application'
    id 'com.github.triplet.play' version '2.1.0'
    ...
}

ダウロードしたサービスアカウントキー(JSON)をAndroidプロジェクトの適当な場所に配置し、serviceAccountCredentialsで指定します。以下ではbeta版向きにしていますが、製品版をアップロードする場合はtrackをproductionにします。

build.gradle
play {
    serviceAccountCredentials = file("your-key.json")
    track = "beta"
}

GooglePlayへのアップロード

コンソールでプロジェクト直下に移動し、まずは以下のコマンドでGooglePlayに登録している画像等のリソースをダウンロードしましょう。

./gradlew bootstrapReleasePlayResources

GooglePlayに登録してある画像等を変更したい場合は、リソースを更新して以下のコマンドでアップロードできます。

./gradlew publishListingRelease

いよいよAppBundleをGooglePlayへアップロード!

./gradlew publishReleaseBundle

※productFlavorsを利用している場合はタスクもそのBuildVariantに合わせましょう。./gradlew tasksで確認できます。

以上、簡単アップロードでした (^o^)/

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?