Androidのaabからbundletoolで情報を取得する方法

Flutter

こんにちは。趣味グラマのNobu(@nm_aru)です。

AndroidのAPIバージョンアップ対応で、aabから情報を取得する方法を調べたので備忘録として残しておきます。

きっかけはPlay Consoleの警告文

ある日、Play Consoleを開いてみると、配当金管理アプリに対して、こんな警告が表示されるようになっていました。(これは対応期限を延長した後のメッセージになります)

AndroidのAPIレベルを上げれば良いのかと思い、build.gradleのtargetSdkVersionを33に設定してビルドしたものをリリースしました。

これで対応は終わったと安心していましたが、1週間ぐらい経っても警告は消えませんでした・・・。

Androidには、minSdkVersion、targetSdkVersion、compileSdkVersionなど、色々とバージョン指定する場所があり、何かが間違っているのかもと色々調べましたが、状況は変わらず・・・。

Android SDK version properties  |  Android NDK  |  Android Developers

bundletoolでaabの情報を取得する

こうなったら、Play Storeで公開しているaabの情報を確認してみようと思い、bundletoolで出来るとあったので、早速インストール。

bundletool  |  Android デベロッパー  |  Android Developers

Macなのでbrewであっさり入る。

brew install bundletool

aabの情報を見るには、helpで出てくる情報だけだと足りず、ググるとこんなサイトがありました。

bundletool dump: Command-line tool to manipulate Android Application Bundles – The Geek Diary
The "bundletool dump" command-line tool is a part of the bundletool suite, which is used for manipulating Android Applic...

以下のコマンドでaab内(?)のAndroidManifest.xmlっぽいものが取得出来て、そこからtargetSdkとかでgrepするとバージョン情報が取れる訳ですね。

bundletool dump manifest --bundle 【aabファイル】

しかし、調査した結果、targetSdkVersionは33が指定されていました・・・。

犯人は内部テスター向けaab

もう一度Play Consoleの警告をよく見てみると、影響を受けるaabの一覧があったので、見てみると・・・何と警告を受けていたのは内部テスター向けにはるか昔にアップロードしたaabだという事が分かりました。

とりあえず、内部テスター向けにも現在の最新ビルドを公開すると警告は出なくなりました。

まとめ

エラーメッセージはちゃんと読みましょう。

コメント

タイトルとURLをコピーしました