Android 13以降でアプリが利用できません
Google Playストアでアプリをインストールしようとした際、「このアプリはAndroidの旧バージョン用に作成されたため、お使いのデバイスでは利用できません」というエラーが発生することがあります。この問題は、主にアプリのターゲットAPIレベルが新しいAndroidバージョンに対応していない場合に発生します。
根本原因
この問題の主な要因は、Googleの更新ポリシーに起因します:
text
2022年11月1日より、最新Androidリリースの2年以内のAPIレベルをターゲットとしていないアプリは、
そのアプリのターゲットAPIレベルよりも新しいAndroidを搭載したデバイスで
新規ユーザーが利用できなくなります。
(公式ポリシー通知)
具体的には:
- ターゲットAPIの期限切れ:
targetSdkVersion
がAndroid 12(API31)未満の場合 - アプリビルドの非互換性:内部テスト版と公開版のAPIレベル不一致
- ユーザーデバイスのOSバージョン:対象デバイスがアプリのターゲットAPIより新しい場合
効果的な解決策
1. ターゲットSDKの更新(主要対策)
build.gradle
ファイルを修正し、最新のAPIレベルを設定します:
groovy
android {
compileSdkVersion 34 // 最新のSDKバージョンに更新
defaultConfig {
targetSdkVersion 34 // Androidの最新安定バージョンを指定
minSdkVersion 21 // 維持する最小バージョン
}
}
必須対応事項
- 2023年8月以降:APIレベル31(Android 12)以上が必須
- 推奨設定:
compileSdkVersion
とtargetSdkVersion
は常に最新安定版を指定
2. Play Console設定の確認
- Play Consoleにログイン → [ポリシー]セクションを確認
- 「アプリはAPIレベル31以上を対象にする必要がある」 警告がないか検査
- 警告がある場合、更新後のAPKをリリースしないとユーザーに影響
3. 段階的ロールアウト(リスク軽減)
API更新による互換性問題を防ぐための戦略:
重要ポイント
- 段階的更新:API変更後、トラックの切り替え時に新旧APKが混在するとエラー発生
- 内部テスト回避策:本番環境でAPI31+のビルドを公開→古いAPKを無効化
- 互換性検査:Google Playのプレリリースレポートでテスト実施

補足対策
互換性問題が残る場合の対応:
- Android Studioのアップデート(Java 11+対応必須)
- プロジェクト全体で
targetSdkVersion
を検索→全モジュール更新 - 権限の移行処理(例:Android 13の通知パーミッション)
予防策
- 2年サイクル:Googleポリシーを定期的に確認
- 自動アラート:Play Consoleのポリシー通知をメール転送
- betaテスト:新API導入前に実デバイス検証
これらの対策により、OSバージョンに関わらず全てのユーザーがアプリをインストール可能になります。特にtargetSdkVersion
の更新は必須対応であり、遅滞なく実施することが重要です。