【Android】Gradleのバージョンを上げたらcompileSdkVersionなどdeprecatedが出たときの対処法
Screenshot
スポンサーリンク

Gradleのバージョンを7に上げたらdeprecatedになったwarningの解決方法

GradleおよびAGP(Android Gradle Plugin)のバージョンアップで非推奨になったwarningを解決する方法

ヒーラー
Gradleのバージョンを上げたら、compileSdkVersionとbuildToolsVersionとflavorDimentionsがdeprecatedになっていた

はじめに

AndroidStudioのバージョンアップに伴い、Gradleもバージョンアップ

久しぶりにアプリのアップデートが必要になったため、1年以上放置していたソースコードを触るとともに、AndroidStudioもバージョンアップしていたため、Jellyfish | 2023.3.1にアップデートしました。

その際、Gradleのバージョンも 6.5 から 8.6 へアップデートしました。
gradle-wrapper.propertiesは以下のとおりです。

+distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip

問題点

app/build.gradleの方の記述で、以下のとおりいくつか非推奨(deprecated)になっている箇所がありました。

  • compileSdkVersion
  • buildToolsVersion
  • flavorDimensions

これらの項目において、打ち消し線が引かれていることがわかります。

今回はGradleのバージョン6系から8系へのアップデートで発生しましたが、Gradeleバージョン7からdeprecatedになったようです。

それぞれ詳細の内容を見ると以下のとおりです。

compileSdkVersion
buildToolsVersion
flavorDimensions

'compileSdkVersion' is deprecated
'buildToolsVersion' is deprecated
'flavorDimensions' is deprecated

それぞれ合わせて修正します。

対処方法

compileSdkVersion

「compileSdkVersion」→「compileSdk」に変更しましょう。

buildToolsVersion

「buildToolsVersion xx」→「buildToolsVersion = 'xx'」に変更しましょう

flavorDimensions

「flavorDimensions "default"」→「flavorDimensions = ["default"]」に変更しましょう。

修正後は以下のとおりです。打ち消し線が消えて、warningがなくなっていることが確認できます。

ちなみに、deprecatedにはなっていませんが、minSdkVersionとtargetSdkVersionも、
compileSdkVersionと同様に「Version」の文字が省略できるようになっています。

「minSdkVersion」→「minSdk」に変更できます。
「targetSdkVersion」→「targetSdk」に変更できます。

<Before>

android {
    compileSdkVersion 34
    buildToolsVersion '34.0.0'

    defaultConfig {
        flavorDimensions "default"
        targetSdkVersion 34
        minSdkVersion 24
        ...
    }
    ...
}

<After>

android {
    compileSdk 34
    buildToolsVersion = '34.0.0'

    defaultConfig {
        flavorDimensions = ["default"]
        targetSdk 34
        minSdk 24
        ...
    }
    ...
}

付随した問題の対処方法

flavorDimensions
[File]-[Project Structure]のSuggestionsの項目において、以下のwarningが出る場合があります。

Flavor 'develop' has no flavor dimension.
Flavor 'production' has no flavor dimension.

この提案が出た場合は、以下のとおり、app/build.gradleのproductFlavorsの項目に、dimension "default"の記述を追加しましょう。

<Before>

    productFlavors {
        develop {
            manifestPlaceholders = [appName: "@string/app_name_dev"]
        }
        production {
            manifestPlaceholders = [appName: "@string/app_name"]
        }
    }

<After>

    productFlavors {
        develop {
            dimension "default"
            manifestPlaceholders = [appName: "@string/app_name_dev"]
        }
        production {
            dimension "default"
            manifestPlaceholders = [appName: "@string/app_name"]
        }
    }

これで、Project Structureのwarningも消えるでしょう。


スポンサーリンク

Twitterでフォローしよう

おすすめの記事