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 = ${BuildVersions.androidCompileSdk}
ndkVersion = "${BuildVersions.androidNdk}"
externalNativeBuild {
cmake { path = "../src/CMakeLists.txt" }
}
compileOptions {
sourceCompatibility = JavaVersion.${BuildVersions.androidJavaVersion}
targetCompatibility = JavaVersion.${BuildVersions.androidJavaVersion}
}
kotlinOptions { jvmTarget = "${BuildVersions.androidJvmTarget}" }
defaultConfig { minSdk = ${BuildVersions.androidMinSdk} }
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:${BuildVersions.kotlinCoroutines}"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:${BuildVersions.kotlinCoroutines}"
}
''';