본문 바로가기

Dev/안드로이드

[Android] Kotlin DSL 이용 시, API Key 은닉하기(AGP 9.0 미만)

 

 흔히 토이 프로젝트 등을 할 때 api 키와 같은 정보를 local.properties에 은닉하곤 하는데 groovy를 사용할 때와 소소한 차이가 있어서, 오랜만에 작성하면 낯설게 느껴진다. 이번 기회에 글로 남기면서 정리하려고 한다.

 

1. local.properties에 키 값 작성하기

 

  local.properties에 키 값을 이름=문자열 꼴로 작성한다. 당연히 이 파일은 형상 관리 시스템에서 제외되어야 한다.

 

 

2. 앱 수준 build.gradle에서 Properties 객체 생성 후, local.properties 파일 불러오기

 

 사실 파일이 존재하는지 한번 확인하면 더 견고한 프로그램이 될 것 같다.

 

 

3. buildConfig에 등록하기

 

 defaultConfig에서 지정하긴 했지만, 당연히 buildType에 따라 지정하는 것도 가능하다. buildConfigField로 선언해두면 안드로이드 코드 내에서 이용 가능하며, resValue로 선언해두면 xml에서 이용 가능하다.

 

 

4. buildFeatures 수정하기

 

 

 이 과정은 구버전 플러그인을 사용한다면 필요 없을 수도 있는데, AGP 8.0부터 buildConfig가 디폴트 값으로 비활성화 되어 있어서, 이를 활성화 시켜주어야 한다. 그런데 AGP 9.0부터는 buildConfig가 아예 비활성화 된다고 하니, 또 다른 우아한 방법을 찾아야 할 것 같다.

 

 

5. 코드 내에서 사용

 

 모든 설정을 마쳤다면, 위처럼 코드 내에서 사용할 수 있게 된다.