SDK の依存不整合
〜 Android Studio の使い方 15 〜
2023-10-20 作成 福島
TOP > androidstudio > sdkdepend

使用ツール

    Android Studio Giraffe | 2022.3.1 Patch 2  


1. 不整合の発生

AndroidStudio を Update したとき等に下記メッセージが表示され、コンパイルが実行できない状態になることがある。
An issue was found when checking AAR metadata:

  1.  Dependency 'androidx.activity:activity:1.8.0' requires libraries and applications  
      that depend on it to compile against version 34 or later of the Android APIs.

      :app is currently compiled against android-33.

      Recommended action: Update this project to use a newer compileSdk
      of at least 34, for example 34.

      Note that updating a library or application's compileSdk (which
      allows newer APIs to be used) can be done separately from updating
      targetSdk (which opts the app in to new runtime behavior) and
      minSdk (which determines which devices the app can be installed on).

和訳:
AAR*1 メタデータをチェックするときに問題が見つかりました。

1. androidx.activity:activity:1.8.0 では、バージョン 34 以降の Android API をコンパイルするために、
    それに依存するライブラリとアプリケーションが必要です。

    :app は現在、android-33 に向けてコンパイルされるようになっています。

    推奨する措置: 最低でも 34 で新しい compileSdk*2 を使用して当該プロジェクトを更新します。

    ライブラリやアプリケーションの compileSdk (新しい動作のための API を使用可能にする)
    は targetSdk*2 (新しいランタイム動作の導入) や minSdk*2 (アプリをインストールできるデバイス)
    とは別に更新出来ます。

*1AAR: Android ARchive : AndroidStudio 用環境定義ファイルのひとつ。
*2compileSdk, targetSdk, minSdk は、下記 build.gradle.kts で指定する。


2. 対処

下記 2-1 or 2-2 のいずれかを実施する。


2-1. compileSdk を設定画面から変更
2-1-1. メニューの   File   -   Project Structure...   Ctrl+Alt+Shift+S   を選択する。

2-1-2. 左ペインから   Modules   を選択する。

2-1-3. Properties タブの中にある Compile Sdk Version を上記  Recommended action:  で提案された数値に変更し、 ボタンをクリックする。
この例では 34 に書き換えている。


2-2. compileSdk を設定ファイルから変更
2-2-1. ビルド情報 (モジュール :app) の修正
Android > Gradle Scripts > build.gradle.kts (Module :app) を開く。
android {  this: BaseAppModuleExtension
      ~省略~
      namespace = 'com.example.android.project'
      compileSdk = 34    ← これ

      defaultConfig {  this: ApplicationDefaultConfig
            applicationId = "com.example.android.project"  
            minSdk = 19
            targetSdk = 31
      ~省略~
compileSdk の指定を上記  Recommended action:  で提案された数値に書き換える。
この例では  34  に書き換えている。

説明文にある targetSdk, minSdk も、このファイルで指定されている。
2-2-2. ビルド情報の反映
メニュー   File    Sync Project with Gradle Files   Ctrl+Shift+O   を選択する。