Androidフォルダ直下のbundle.gradleで以下のエラーが発生した
Cannot run Project.afterEvaluate(Closure) when the project is already evaluated
対象のコード
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = "../build"
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
project.evaluationDependsOn(":app") //ここが原因
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
原因
- 各サブプロジェクトが:appの評価を待つ
- :app自体もサブプロジェクトの一つ
- このため:appが自身の評価を待つという循環状態になる
解決
project.evaluationDependsOn(":app")を削除することで、循環しないようにした