使用ツール
Android Studio Ladybug Feature Drop | 2024.2.2
1. 不整合の発生
AndroidStudio を Update したとき等に下記メッセージが表示され、コンパイルが実行できない状態になることがある。
Manifest merger failed : uses-sdk:minSdkVersion 19 cannot be smaller than version 21 declared in library [androidx.constraintlayout:constraintlayout:2.2.0] /…/AndroidManifest.xml as the library might be using APIs not available in 19 Suggestion: use a compatible library with a minSdk of at most 19, or increase this project's minSdk version to at least 21, or use tools:overrideLibrary="androidx.constraintlayout.widget" to force usage (may lead to runtime failures)
和訳:
*1要するにこの Android Studio では API19 (KitKat:Android 4.4) を諦めて API21 (Lolipop:Android 5.0) 以上を開発しろということ。
マニフェストの結合に失敗しました: uses-sdk:minSdkVersion の指定 19 は
ライブラリ androidx.constraintlayout で宣言された 21 より小さくすることはできません*1。
AndroidManifest.xml においてライブラリは 19 では利用できない API を使用している可能性があります。
提案: minSdk が最大 19 に互換性のあるライブラリを使用してください。
または、このプロジェクトの minSdk バージョンを少なくとも 21 に増やしてください。
または、 tools:overrideLibrary="androidx.constraintlayout.widget" を強制的に使用します。(実行時のエラーを招きます)
2. 対処
下記 2-1 or 2-2 のいずれかを実施する。
2-1. Min SDK Version を設定画面から変更
2-1-1. メニューの File - Project Structure... Ctrl+Alt+Shift+S を選択する。
2-1-2. 左ペインから Modules を選択する。
2-1-3. Default Config タブの中にある Min SDK Sdk Version を上記 version to at least で指定された数値以上に変更し、 ボタンをクリックする。
この例では 21 に書き換えている。
2-2. Min SDK Version を設定ファイルから変更
2-2-1. ビルド情報 (モジュール :app) の修正
Android > Gradle Scripts > build.gradle.kts (Module :app) を開く。2-2-2. ビルド情報の反映
minSdk の指定を上記 version to at least で提案された数値に書き換える。
android { ~省略~ namespace = 'com.example.android.project' compileSdk = 34 defaultConfig { applicationId = "com.example.android.project" minSdk = 21 ← これ targetSdk = 34 ~省略~
この例では 21 に書き換えている。
説明文にある targetSdk, minSdk も、このファイルで指定されている。
メニュー File の Sync Project with Gradle Files Ctrl+Shift+O を選択する。