React + Capacitor で開発した Android アプリを Google Play ストアに公開、またはアップデートしようとした際、以下のようなエラーや警告が表示されてビルドが通らなかったり、アップロードが拒否されたりすることがあります。
現在、お客様のアプリは API レベル 34 を対象にしています。セキュリティとパフォーマンスが最適化された最新の API を利用するには、API レベル 35 以上を対象にする必要があります。
Google Play では、定期的に「対象 API レベル(targetSdkVersion)」の最低要件が引き上げられます。
今回は、React + Capacitor の環境で、対象 API レベルを 35(Android 15)に更新してこのエラーを解決する具体的な手順を解説します!
解決手順:variables.gradle を修正する
Capacitor プロジェクトにおいて、Android の SDK バージョンを管理しているのは、Android プロジェクト内にある variables.gradle というファイルです。ここを書き換えるだけで対応できます。
1. variables.gradle を開く
プロジェクトのルートディレクトリから、以下のパスにあるファイルをテキストエディタや Android Studio で開きます。
ファイルの場所: android/variables.gradle
2. コードを修正する
ファイル内にある compileSdkVersion と targetSdkVersion の値を 35 に変更します。
Gradle
ext {
minSdkVersion = 22 // またはお使いの設定値
compileSdkVersion = 35 // 35 に変更
targetSdkVersion = 35 // 35 に変更
// その他の設定
}
3. プロジェクトの同期とビルド
ファイルを保存したら、変更を Android プロジェクトに反映させます。ターミナル(コマンドライン)で以下のコマンドを実行してください。
Bash
# Webアセットのビルド(プロジェクトに応じて npm run build など)
npm run build
# Capacitorの変更をAndroidに同期
npx cap sync android
コマンド実行後、Android Studio を開き、画面右上にある 「Sync Project with Gradle Files」(象のアイコン)をクリックして Gradle の同期を行います。
同期が完了したら、通常通り .aab(Android App Bundle)をビルドして Google Play コンソールにアップロードすれば、エラーが出ずに受け付けられるようになります。
【重要】API 35(Android 15)対応時の注意点
targetSdkVersion を 35 に引き上げる際、値を変えるだけでは別のビルドエラーやアプリのクラッシュが発生する場合があります。以下の 2 点も合わせて確認しておきましょう。
① Capacitor 本体のバージョンを最新にする
古いバージョンの Capacitor を使ったまま API 35 を対象にすると、互換性の問題でビルドが失敗することがあります。Android 15(API 35)に対応するためには、Capacitor も対応したバージョン(Capacitor 6 の最新パッチ、またはそれ以降)にアップデートすることを強く推奨します。
Bash
# Capacitor 関連のパッケージを最新にする
npm install @capacitor/core@latest @capacitor/cli@latest
npm install @capacitor/android@latest
# 状態を確認
npx cap doctor
② 各種プラグインのアップデート
カメラ、位置情報、プッシュ通知など、ネイティブ機能を使う Capacitor プラグイン(または Cordova プラグイン)を利用している場合、それらが Android 15 の新しいセキュリティ仕様や権限(パーミッション)に対応している必要があります。
主要なプラグイン(例: @capacitor/camera や @capacitor/geolocation など)も、合わせて最新バージョンに更新しておくと安心です。
まとめ
Google Play の API レベル引き上げ要求は、Capacitor 環境であれば android/variables.gradle の数値を変更することでスムーズに対処できます。
compileSdkVersion = 35targetSdkVersion = 35
これらをセットで変更し、Capacitor 自体も最新に保つことで、安全に最新の Android 環境に対応したアプリを配信できます。同じエラーで困っている方の参考になれば幸いです!


コメント