안드로이드 프로젝트에서 API 키를 local.properties 에 숨긴다.
그래들에서 local.properties 및 API_KEY 값을 연결한다.
(일부 메서드들이 인식이 안되면 File - Sync Project with Gradle Files를 해보자)
(참고로 프로젝트를 지우고 다시 클론해오면 모듈 인식이 안될 때가 있는데 이 때도 그래들 싱크를 해주면 된다)
// local.properties
API_KEY="~~~"
// 그래들(Module :app) 최상단
import java.util.Properties
val properties = Properties()
properties.load(project.rootProject.file("local.properties").inputStream())
// 그래들 - defaultConfig
buildConfigField("String", "API_KEY", properties.getProperty("API_KEY"))
// 그래들 - buildFeatures
buildConfig = true
(사용할 때는 아래처럼)
// 매니페스트에서는 GOOGLE_API_KEY 형태로 바로 쓸 수 있다. (예시)
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${GOOGLE_API_KEY}" />
// 코드에서는 BuildConfig.KAKAO_API_KEY 형태로 쓰면 된다. (예시)
@Headers("Authorization: KakaoAK ${BuildConfig.KAKAO_API_KEY}")