728x90
API Key를 이용하여 카카오 API를 받아 이미지 검색을 하는 개인과제를 진행 중에, 이걸 제출할 때 깃허브에 올릴 텐데,
API Key가 노출된 채로 올려도 되나?라는 생각이 들었다.
그래서 API Key를 숨기는 방법을 검색해서 알아봤다
우선, 대략적인 순서는 아래와 같다
- local.properties 파일에 값 저장
- build.gradle.kts(:app) 수정
- 프로젝트 빌드
- BuildConfig로 호출
1. local.properties 파일에 값을 저장
// local.properties
sdk.dir = sdk 경로
API_KEY = "API_Key 값"
- local.properties 파일을 열고 sdk 경로 밑에 사용할 API Key값을 정의한다
- local.properties는 기본적으로 gitignore로 설정되어 있으므로 깃허브에 올라가지 않는다
2. build.gradle.kts(:app) 수정
android {
...
defaultConfig {
...
buildConfigField("String", "API_KEY", getAPIKey("API_KEY"))
}
}
fun getApiKey(propertyKey: String): String {
return gradleLocalProperties(rootDir).getProperty(propertyKey)
}
- getApiKey 함수를 생성해서 local.properties의 변수를 불러오도록 한다
3. 프로젝트 빌드
- 빌드 후에 Project → java(generated) → BuildConfig생성 확인
4. BuildConfig에서 값 호출
// BuildConfig
public static final String API_KEY = "API Key 값";
5. 값을 호출하여 사용
// 키를 사용해야 할 곳에서
BuildConfig.API_KEY
// 또는 BuildConfig.API_KEY 임포트 후
API_KEY
[참고 사이트]
728x90
'코틀린(Kotlin) > TIL' 카테고리의 다른 글
[코틀린(Kotlin)] 뷰 모델 (ViewModel) (1) | 2024.02.05 |
---|---|
[코틀린(Kotlin)] 디버깅(Debugging) (0) | 2024.02.01 |
[코틀린(Kotlin)] CLEARTEXT communication to XXXX not permitted by network security policy (0) | 2024.01.31 |
[코틀린(Kotlin)] 레트로 핏(Retrofit) (1) | 2024.01.29 |
[코틀린(Kotlin)] 구글 지도앱 만들기 (1) | 2024.01.26 |