local.properties in gitignore.gitignore files are not uploaded to the git.
API_KEY = "[your API key]"
BuildConfig option in android.BuildConfig values are only delivered as generated values.
buildFeatures{
// local.properties
buildConfig = true
}
local.propertiesIn module-level gradle file, value in local.properties can be generated as a variable of BuildConfig.
defaultConfig {
...
// generate a variable from local.properties
// type, name of the variable, value
buildConfigField("String", "API_KEY", getPropertyByKey("API_KEY"))
}
// function to get local.properties value
fun getPropertyByKey(key : String) : String {
return gradleLocalProperties(rootDir).getProperty(key)
//or
//gradleLocalProperties(rootDir, providers).getProperty(key)
}

On gradle sync, above file will be generated.
val key = BuildConfig.API_KEY