본문 바로가기
Android

[Android] local.properties 환경변수 관리하기

by yonikim 2021. 11. 3.
728x90

DB 정보, API Key, Access Key 등과 같이 민감한 정보는 외부에 노출이 되면 안되기 때문에, 해당 정보들이 기재되어 있는 파일이 Public 저장소에 올라가선 안된다.

(특히 AWS Access Key 정보라도 올라가게 되면, 단 몇시간 만에 몇천만원이 부과되는 마법을 볼수 있다.)

 

따라서 환경변수용 파일을 따로 만들어 .gitignore, .slsignore 과 같이 ignore 파일에 해당 파일의 위치를 기재해줘야 한다.

Node.js 의 경우에는 .env 파일을 이용하여 환경변수를 관리하는데, Android 의 경우에는 local.properties 파일을 이용하여 환경변수를 관리한다. 

 

▷ local.properties 

sdk.dir=/Users/yonikim/Library/Android/sdk

ACCESS_KEY="${ACCESS_KEY 값}"

 

▷ app 수준의 build.gradle

plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

Properties properties = new Properties() 
properties.load(project.rootProject.file('local.properties').newDataInputStream())

android {
    compileSdk 30
    ...
    defaultConfig {
        ...
        buildConfigField "String", "ACCESS_KEY", properties['ACCESS_KEY']
        ...
    }
}

 

다시 Build 를 해주면,

 

 BuildConfig 파일에 해당 환경변수가 추가된 것을 확인할 수 있다. 

(Path: Project > app > build > generated > source > buildConfig)

728x90

'Android' 카테고리의 다른 글

[Kotlin] android.os.Looper not mocked  (0) 2021.10.03
[Jetpack] 앱 아키텍처 가이드  (0) 2021.10.01
[Firebase] 연동 계정 변경  (0) 2021.08.28
[Firebase] 안드로이드와 연동하기  (0) 2021.08.24
[Firebase] 프로젝트 만들기  (0) 2021.08.24