안드로이드 프로젝트 구글 플레이 스토어에 출시 중 경고가 있었다.
GCP API 키 유출
Google Cloud Platform(GCP) API 키가 노출되어 있습니다.
구글을 비롯하여 네이버, 카카오 등 SDK를 사용할 때 API 키들이 주어진다.
이 값들을 코드상에서 하드코딩해두면 GitHub 등 노출 가능성이 있다.
이 중요한 값들은 .gitignore 파일을 통하여 숨기는 것이 좋다.
코드부분에서 BuildConfig.변수명 을 이용해 local.properties 에 저장된 값들을 사용할 수 있다.
네이버 지도나 구글 지도 등은 Manifest 에 API 키 값들을 넣어줘야 한다.
위 경고를 대응하기 위한 구글 지도 API 키를 local.properties 에 숨겨 매니페스트에서 사용하는 방법을 알아보자.
# AndroidMainfest use
google_maps_key="GOOGLE_MAP_KEY"
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def googleMapApiKey = properties.getProperty('google_maps_key')
android {
defaultConfig {
...
// AndroidManifest 에서 쓸수 있도록 지정
manifestPlaceholders = [googleMapApiKey:googleMapApiKey, key: value]
...
}
}
<manifest ...>
<application ...>
...
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${googleMapApiKey}" />
</application>
</manifest>
참고 : https://developer.android.com/studio/build/manifest-build-variables?hl=ko
https://simsi6.tistory.com/39