0
0

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.

Google Play Publisher Gradle Plugin を1系から2系に更新する

0
Posted at

概要

Google Play に APK をアップロードできる Google Play Publisher Gradle Plugin を1系から2系に更新してみます。

リリースノートを見る限りだと2系に上がったばかりなので、まだ更新する必要はなさそうでしたが、今後は App Bundle でリリースしたいと思ったので、試してみます。1系の導入や、必須となるサービスアカウントの準備等は 過去の記事 に書いてあるので、そちらをご覧ください。

なぜ、この Gradle Plugin を使うのか?

業務でのアプリケーションのリリースでは CI/CD の一連の流れで自動的に APK や App Bundle をアップロードできていると思います。そうした充実したインフラが用意されていない個人でのアプリ開発では、人手で APK をアップロードすることが多くなりがちです。人手での作業はミスが起こりやすいので、可能な限り自動で実施できた方がよいでしょう。

この Gradle Plugin は、基本的なコマンドだけでも以下を自動的に実行してくれます。

  1. APK や App Bundle のビルド
  2. 1の成果物と mapping.txt を Google Play へアップロード

加えて、リリースノートの更新等も設定を追加すれば可能となります。これらを Gradle Plugin 単独で実現でき、ローカルのPC上で実行できる(CI/CD環境不要)点が強みです。

なぜ、2系を使うのか?

Android App Bundle をアップロードしたい場合は2系を使う必要があります。

Gradle Play Publisher 2.0.0 beta 1

作業

キーの差し替え

2系はp12形式のキーでないと認証できないようです。推奨は JSON の方でしたので、p12形式のキーを持っていないことが多いかと思います。その場合は サービスアカウントのページから取得します。

build.gradle の修正

まず、プロジェクト root の build.gradle に書かれているプラグインのバージョンを書き換えます。

build.gradle
buildScript {
-        classpath 'com.github.triplet.gradle:play-publisher:1.2.0'
+        classpath 'com.github.triplet.gradle:play-publisher:2.0.0-rc1'

この記事を書いている段階だと、まだ 2.0.0-rc が最新のようでした。
https://mvnrepository.com/artifact/com.github.triplet.gradle/play-publisher

次に、アプリケーションの方を修正します。androidの中に入っていた playAccountConfigs ブロックと play ブロックを消し、 android ブロックの外側に play ブロックを新しく書きます。そこに、従来の play ブロックの記述と playAccountConfigs ブロックの記述を書きます。

app/build.gradle
android {
-    playAccountConfigs {
-        defaultAccountConfig {
-            serviceAccountEmail = 'dummy-service-account@api-dummy-dummy.iam.gserviceaccount.com'
-            jsonFile = file('signing/Google Play Android Developer-dummy.json')
-        }
-    }
-
-    play {
-        track = 'beta'
-        untrackOld = true
-    }


+play {
+    track = 'beta'
+    serviceAccountEmail = 'dummy-service-account@api-dummy-dummy.iam.gserviceaccount.com'
+    serviceAccountCredentials = file('signing/api-dummy-dummy-dummy.p12')
+}

あとはコマンド1つでリリースできます。

$ gradle publishApkRelease

おわりに

Google Play Publisher Gradle Plugin の 1系から2系への更新は、以下の2ステップだけで OK でした。

  1. キーの差し替え(.json -> .p12)
  2. build.gradle の書き換え

Android App Bundle でのリリースを考えている場合は、今後2系への更新を進めていくとよいでしょう。

おまけ

バージョンコードによっては以下のエラーが出るかもしれません。

$ gradle publishApkRelease

* What went wrong:
Execution failed for task ':app:publishReleaseApk'.
> Version code 10000 is too low for variant release.

この場合は、現在のリリースバージョンのコードに近いものを指定し直して、再度コマンドを実行してみてください。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?