1. ホーム
  2. android

[解決済み] Android Studio Arctic Fox Canary 8 では、アプリレベルの build.gradle で `allprojects` セクションが生成されず、手動で追加するとエラーが発生します。

2023-04-30 17:30:34

質問

Android Studio Arctic Fox Canary 8 で新しいプロジェクトを作成する場合、アプリレベルの build.gradle は次のようになります。

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.0-alpha08"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.30"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}


Android Studio 4.1.2で同じ新規プロジェクトを作成した場合、アプリレベルのbuild.gradleファイルはこのようになります。

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext.kotlin_version = "1.3.72"
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.1.2"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}


私が使っているライブラリのひとつでは、このように allprojects

を手動で追加しようとしたのですが allprojects セクションを追加しようとしましたが、このエラーが表示されました。

 problem occurred evaluating root project 'My Application'.
> Build was configured to prefer settings repositories over project repositories but repository 'Google' was added by build file 'build.gradle'

なぜ allprojects が削除された理由と、ライブラリを使用するためにどのように追加すればよいですか?

どのように解決するのですか?

settings.gradle で、プロジェクトに追加したいリポジトリを追加します。

dependencyResolutionManagement {
   repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
   repositories {
      google()
      mavenCentral()
      jcenter()
      maven { url "https://maven.xyz.com" }
    }
}