728x90
gitignore가 잘 안되서
local.properties에 넣는 방법을 사용.
(이미 gitignore에 있기 때문에 적당한 편법이랄까..)
100% 이해한 건 아니라서 전혀 논리정연하지 않지만 미래의 나를 위해 일단 기록....
1. local.properties 파일에 숨길 api key 직접 적기
api_key_name="api_key_내용"
근데 따옴표를 붙여야 하는지 아닌지는 잘 모르겠다 ㅠ
googlemap api에서는 안붙이고 했는데
openweather는 붙여야만 되더라... 내일 구글맵 잘 돌아가는지 다시 봐야할듯
. (가장 상위에 있는) app수준의 gradle에 코드 추가
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def googleMapApiKey = properties.getProperty('api_key_name')
. 같은 gradle의 anroid{ defaultConfig { 여기에 코드 추가 } }
3-1. manifestPlaceholders = [키이름:googleMapApiKey]
두 개가 어떻게 다른진 정확히 모르겠고
구글맵은 매니페스트 파일에 추가해주기 떄문에 manifestPlaceholder를 사용.....?
(키,값) 으로 저장되어 매니페스트에서 사용이 가능했다.
3-2. buildConfigField "String", "API_KEY", properties['openweather.key']
얘는 빌드하면 buildConfig에 string값으로 추가되더라
그래서 1번에서 api key내용에 따옴표가 없으면 아예 빌드 실패했음
. 저장한 값 사용하기
4-1. 구글 API를 예시로 들자면
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${googleMapApiKey}" />
4-2. 그냥 원하는 코드에서
BuildConfig.API_KEY 이렇게 불러서 사용함!
참고했던 사이트들.. 나에게 동작하는 것도 있고 아닌 것도 있었음
https://pyxispub.uzuki.live/?p=1020
https://busy.org/@etainclub/google-map-api-key
https://gist.github.com/ramonaharrison/7a2061bf5ee920dfff53b37ed83520ec
'Kotlin > 안드로이드 공부' 카테고리의 다른 글
카카오지도api 시작하기 (0) | 2020.09.07 |
---|---|
네이버 지도 연결 (0) | 2020.09.07 |
kotlin - unresolved reference 갑자기 오류 뜰 때 (0) | 2020.07.02 |
editText 텍스트 변경 감지 (0) | 2020.06.19 |
fcm (0) | 2020.06.14 |