Android 16 対応後も Play Console の警告が消えない

アプリを Android 16(API レベル 36)対応にしてストアに申請、無事公開まで終わったのに、Play Console 上には対象 API レベルの警告(アラート)が出たまま、という状態になりました。


原因は製品版そのものではなく、内部テストなどの別トラックに残っていた古いビルドでした。


前提知識:Android のバージョンと API レベル


Android 16 は API レベル 36 にあたります。Google Play は、新規アプリ・アップデートの提出に「対象 API レベル 36 以上」を要求しています(既存アプリの最低ラインは別途 35 以上、猶予期間あり)。ここがずれていると警告が出ます。


Play Console には配信先として次のようなトラックがあります。


製品版(一般ユーザー向け)

オープンテスト

クローズドテスト

内部テスト


Play Console の警告は、公開中の製品版だけでなく、これらすべてのトラックを見て判定されます。 製品版だけ最新化しても、内部テストやクローズドテストに昔のビルドが「有効」なまま残っていると、警告は消えません。


製品版は最新の対象SDK 36 のビルドになっていたのに、内部テストトラックには古いビルド(対象SDK 35)が有効のまま残っているという、いつものパターンでした。


確認方法


Play Console の「テストとリリース」→「App Bundle エクスプローラ」を開くと、過去にアップロードしたすべてのビルドと、それぞれの対象SDK、どのトラックで有効になっているかを一覧で確認できます。


ここで、製品版以外のトラックに古い対象SDKのビルドが「有効」で残っていないかをチェックします。


直し方:空リリースで上書きする


古いビルドが有効なトラックを見つけたら、そのトラックを一旦「空にする」ことで無効化できます。手順は次の通りです。


対象トラック(例:内部テスト)で「新しいリリースを作成」を開く

App Bundle は何もアップロードしない

画面に「含まれない App Bundle(APK)」として、現在有効な古いビルドが表示される

そのまま保存・公開する


この操作をすると、そのトラックの最新リリースが「中身なし」になり、古いビルドが配信対象から外れて非アクティブになります。ファイルを削除するわけではなく、あくまで新しい(空の)リリースで上書きする、という考え方です。


公開後は審査が入ることがあり、反映まで少し時間がかかります。


アプリを複数運用している場合


個人開発で53本のアプリを抱えており、1本ずつ手作業でやるのは非現実的でした。そこで Google Play の Developer API(Android Publisher API)を使い、各アプリのトラック状況を自動で調べ、古いビルドが残っているトラックだけ空リリースを流すスクリプトAIが組みました。


やっていることは手動操作と同じで、「そのトラックに、ビルドを含まないリリースを送る」だけです。手動で1本試して動作を確認してから、残りをスクリプトで一括処理する、という進め方が安全です。


まとめ

Play Console の対象APIレベル警告は、製品版だけでなく全トラックが対象

「App Bundle エクスプローラ」で全トラックの状態を横断チェックする

古いビルドが残るトラックは、空リリースの上書きで非アクティブ化できる