Android App Bundle(AAB)をJenkinsで自動アップロードできるようにしてみる

Androidのビルドから内部テスト公開をコンソールでぽちぽちする….
そんなの馬鹿らしいと思い自動ビルド環境を組んでみた話。

ネックになったのが作成したapkをGoogle Play Consoleにアップロードするやり方。

調べてみるとGoogle Play Developer Publishing APIというのがある。

Google Play Developer Publishing API

https://developer.android.com/google/play/developer-api?hl=JA

サービスアカウントを作り、API経由でアップロードできるそうだ。

公式ドキュメントはわかりにくければ参考サイトは結構出てくる

この辺とか
https://qiita.com/Horie1024/items/0d3d50405f0b4bef1792

とりあえず公式サンプルがpythonだったのでpythonで入れると(認証周りで四苦八苦しつつ)なんとか導入できた

https://github.com/googlesamples/android-play-publisher-api

Android App Bundle(AAB)問題

問題となったのが最近利用可能になった、Android App Bundle。

https://support.google.com/googleplay/android-developer/answer/9006925?hl=ja

ざっくり言うとアプリサイズが軽くなるのでメリットだらけだが、公式サンプルだとアップできない問題が発生。

そのままファイルをapkからaabにすると下記のようなエラーが…

APK cannot be analyzed using aapt dump badging.
googleapiclient.errors.UnacceptableMimeTypeError: application/x-authorware-bin

ようわからん…とリファレンスを読み込んでいくとどうもエンドポイントが変わっているらしかった。

なのでエンドポイントを変更しアップロードするとうまくいけた。

実装部分なのでよかったら使ってみてください。

こんな感じで呼び出せばよし

python bin/upload_apk_service_account.py \
${GOOGLE_API_SERVICE_ACCOUNT_EMAIL} ${GOOGLE_API_SERVICE_ACCOUNT_KEY} \
${BUNDLE_ID} ${APK_FILE} "${VERSION_NAME}"

You may also like...

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です