allprojects { repositories { google() mavenCentral() } } val newBuildDir: Directory = rootProject.layout.buildDirectory .dir("../../build") .get() rootProject.layout.buildDirectory.value(newBuildDir) subprojects { val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) project.layout.buildDirectory.value(newSubprojectBuildDir) } // Force plugins (e.g. file_picker) onto compileSdk 36 so they satisfy // flutter_plugin_android_lifecycle AAR metadata checks. subprojects { afterEvaluate { val android = extensions.findByName("android") ?: return@afterEvaluate for (name in listOf("setCompileSdk", "setCompileSdkVersion")) { try { android.javaClass .getMethod(name, Int::class.javaPrimitiveType) .invoke(android, 36) break } catch (_: NoSuchMethodException) { // try next } catch (_: Exception) { break } } } } tasks.register("clean") { delete(rootProject.layout.buildDirectory) }