targetSdkVersion 35 へのアップグレード
問題の概要
Android Studioで開発しているアプリのtargetSdkVersion
を34から35に変更する際、次の警告メッセージが表示されます:
"エディターでtargetSdkVersionを34から35に変更しました。この変更に伴う動作の変更については必ずドキュメントを参照してください。Android SDK Upgrade Assistantが安全な移行を支援します。"
多くの開発者はこのメッセージに戸惑います:
- コードに実際の問題が存在するのか判断できない
- メッセージの消える条件が不明
- 「Android SDK Upgrade Assistant」の実体が不明瞭
メッセージの正体と意味
この通知は標準的な教育目的の警告で、コードが壊れていることではなく潜在的な非互換性に関する警告を意味します。
主なポイント:
- 新しいAPIレベルごとにシステム動作・権限・利用不可APIが変更される可能性がある
- メッセージは「問題あり」ではなく「互換性検証が必要」という注意喚起
- 表示は自動消去せず、開発者のアクションが完了するまで継続
- Android 14 (API 35) の動作変更一覧の確認が必要
実践的手順: 確実にアップグレードする方法
ステップ1: 公式ドキュメントの確認
API 35での変更点を網羅的にチェック:
- [Android 14のメジャー変更点](https://developer.android.com/about/versions/14)
- [targetSdkVersionごとの動作差異](https://developer.android.com/guide/topics/manifest/uses-sdk-element)
ステップ2: アプリ動作のテスト
具体的な検証項目例:
// 許可の変更が必要なケースの例
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
// 新たな権限チェックロジックの実装が必要
checkNewRuntimePermission();
}
効率的なテスト方法
Developer Options
でStrict Mode
を有効化adb
で変更点を強制的に適用:adb shell am compat enable [変更ID] [パッケージ名]
- エミュレーターで
Android 14
の動作をシミュレート
ステップ3: 警告メッセージを消す方法
メッセージは以下の条件で消去:
- プロジェクトが正常ビルドされた後
lint
チェックを実行して警告なし- アップグレードアシスタントで確認完了
Android SDK アップグレードアシスタントの活用
Android StudioのTools > SDK Manager > SDK Tools
でインストール可能ですが、本質は動作変更を中心としたガイダンスシステムです:
主な機能
ツールUIの概念図
- 変更が必要なモジュールの特定
- 影響範囲の階層的な可視化
- ドキュメントへの直接リンク提供
- APIレベルごとの差分比較レポート
注意点
「ワンクリック修正」機能は存在せず、コード変更は開発者自身が行う必要があります。ツールは問題箇所の特定支援にとどまります。
よくある質問
Q: ビルド成功でもこの警告は消えない?
A: 正常です。メッセージはコード修正の有無に関わらず、targetSdkVersionの変更を検知すると表示されます。
Q: メッセージを無視してリリース可能か?
A: 技術的には可能ですがリスクが伴います:
Q: Android 14特有の必須変更点は?
A. 特に注意すべき変更点:
- 動的コードロードの制限強化
- バックグラウンドでのフル通知権限必須化
- 暗黙的ブロードキャストの制限拡大
ベストプラクティス
targetSdkVersion
変更 → 即時テスト/検証開始- 警告メッセージを 進捗管理指標として活用
- サポートライブラリのプレビュービルドを活用:kotlin
// build.gradle.kts例 dependencies { debugImplementation("androidx.compose.ui:ui-tooling-preview:1.7.0-beta03") }
- 段階的アップグレード戦略:
最新の動作変更情報はAndroid Developers公式サイトで常に確認してください。