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) } subprojects { afterEvaluate { val android = extensions.findByName("android") if (android != null) { try { android.javaClass.getMethod("setCompileSdkVersion", Int::class.javaPrimitiveType).invoke(android, 34) } catch (e: Throwable) {} try { android.javaClass.getMethod("setCompileSdk", Int::class.javaPrimitiveType).invoke(android, 34) } catch (e: Throwable) {} try { android.javaClass.getMethod("compileSdkVersion", Int::class.javaPrimitiveType).invoke(android, 34) } catch (e: Throwable) {} try { android.javaClass.getMethod("compileSdkVersion", String::class.java).invoke(android, "android-34") } catch (e: Throwable) {} } } } subprojects { project.evaluationDependsOn(":app") } tasks.register("clean") { delete(rootProject.layout.buildDirectory) }