728x90
반응형
통신하는 서버 주소나 API Key와 같은 정보들은 팀원 이외에게는 노출되어선 안 되는 민감한 정보이다.
따라서 그 값을 소스 코드에 그대로 노출시키지 않고 안전하게 숨겨야 할 필요가 있다.
local.properties를 통해 값 숨기기
1. local.properties 파일에 값을 저장하기
처음 local.properties 퍄일을 열면 SDK 경로가 적혀있는데, 그 아래에 내가 사용할 API Key값을 정의해준다.
// local.properties
sdk.dir = SDK 경로
API_KEY = "API Key 값"
local.properties는 기본적으로 gitignore로 설정되어 있어 GitHub에 올라가지 않는다.
2-①. Groovy 사용하는 경우
build.gradle(:app)을 다음과 같이 수정해줍니다.
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
android {
...
defaultConfig {
...
buildConfigField "String", "API_KEY", properties["API_KEY"]
}
}
2-②. Kotlin-DSL 사용하는 경우
build.gradle.kts(:app)을 다음과 같이 수정해서 local.properties의 변수를 불러온다. 그리고 localProperties.getProperty를 호출해서 API Key를 가져올 수 있다. 또는 getApiKey라는 함수를 만들어 local.properties의 변수를 불러오도록 할 수 있다.
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties
android {
...
defaultConfig {
...
buildConfigField("String", "API_KEY", localProperties.getProperty("API_KEY"))
}
}
fun getApiKey(propertyKey: String): String {
return gradleLocalProperties(rootDir).getProperty(propertyKey)
}
2-①과 2-② 둘 다 BuildConfig에 추가해주는 방법이다.
구독과 공감은 블로그 운영에 큰 힘이 됩니다! ♡
긍정적인 댓글 남겨주시면 감사드리며,
보완해야 할 점이 있으면 댓글로 남겨주셔도 좋습니다!
728x90
반응형
'Android' 카테고리의 다른 글
[Android] Android Studio Feature Drop? (1) | 2024.12.12 |
---|---|
[Android] 한글 종성에 따라 조사 구분하기 (0) | 2024.11.27 |