plugins { id("com.android.library") id("my.ext") } android { buildFeatures.buildConfig = true (this as ExtensionAware).configure { envApiKey = "defaultKey" } buildTypes { getByName("debug") { configure { envApiKey = "debugKey" } } getByName("release") { configure { envApiKey = "releaseKey" } } } } androidComponents.onVariants { variant -> variant.buildConfigFields?.put( "ENV_API_KEY", variant.getExtension(MyVariantExt::class.java)!!.envApiKey.map { BuildConfigField("String", "\"$it\"", "env api key") } ) }