Home 안드로이드 Kotlin-DSL local.properties 사용
Post
Cancel

안드로이드 Kotlin-DSL local.properties 사용

안드로이드 Kotlin-DSL local.properties 사용

안드로이드에서 local.properties를 사용해서 API 키나 숨겨야 하는 것이 있을 때 일반적으로 Groovy 사용할 때는

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Properties properties = new Properties() 
properties.load(project.rootProject.file('local.properties').newDataInputStream()) 

android {

	... 

	defaultConfig {
    
    	... 
        
        buildConfigField "String", "APIKEY", properties["apiKey"] 
        
        } 
 }

위와 같이 사용하면 되고

Kotlin-DSL를 사용하는 경우라면

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
android {
	...
    val localProperties = Properties()
    val localPropertiesFile = rootProject.file("local.properties")
    if (localPropertiesFile.exists()) {
        localPropertiesFile.inputStream().use { localProperties.load(it) }
    }	

    val API_KEY = localProperties.getProperty("API_KEY") ?: ""

    defaultConfig {
        ...
		
        buildConfigField("String", "MAPS_API_KEY", "\"$MAPS_API_KEY\"")
        resValue("string", "MAPS_API_KEY", MAPS_API_KEY)
    }
}

이런 식으로 하면 되는데 참고로 이제는 buildConfig를 true로 주지 않으면 오류가 나기에 꼭 true로 설정하자

1
2
3
buildFeatures {
	buildConfig = true
}
This post is licensed under CC BY 4.0 by the author.