androidBuildGradleTemplate function
Generates android/build.gradle using the modern plugins {} DSL.
Uses plugins {} at the very top as required by Gradle 7+ — no legacy
buildscript {} or apply plugin blocks which break AGP 8/9+.
Implementation
String androidBuildGradleTemplate(String org, String pluginName) => '''
plugins {
id "com.android.library"
id "org.jetbrains.kotlin.android"
}
group = "$org.$pluginName"
version = "1.0"
android {
namespace = "$org.$pluginName"
compileSdk = 36
ndkVersion = "27.0.12077973"
externalNativeBuild {
cmake { path = "../src/CMakeLists.txt" }
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions { jvmTarget = "17" }
defaultConfig { minSdk = 24 }
sourceSets {
main {
// Do NOT add to java.srcDirs — in AGP 8.x that routes .kt files
// through the Java compiler and causes "Unresolved reference" errors.
kotlin.srcDirs += "\${project.projectDir}/../lib/src/generated/kotlin"
}
}
}
dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3"
}
''';