local.properties를 사용한 key 저장

K_Gs·2023년 10월 1일
1

안드로이드

목록 보기
1/1
post-thumbnail

local.properties는 안드로이드에 의해 기본 생성되는 파일 중 하나로, 기본적으로 SDK의 위치가 이곳에 적혀있습니다.

SDK가 위치한 경로는 사용자마다 다를 수 밖에 없기에 이 파일은 기본적으로 gitignore에 포함되어있습니다.

기본적으로 생성되고, 깃에 올라가지 않는 만큼 원래 목적은 아니지만 Key를 저장하기에 꽤 적합합니다. 이번에는 그 사용법을 적어보려합니다.


1. Key 작성

local.properties 파일에 기존 내용 아래에 key를 적어 넣습니다.

//sdk.dir=~~~~ 아래
api_key=Your Key

가령 키가 123이라면 api_key=123 이렇게 적어넣으면 됩니다.

2.properties 객체 생성

프로터피에 값을 넣었으니 이제 사용할 수 있도록 먼저 프로퍼티를 가져와야합니다.
build.gradle -> android 위쪽에 아래와 같이 두줄을 적어 넣습니다.

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

//android { 기존 내용...

프로퍼티 객체를 만들고 local.properties의 값을 읽어들여오는 것 입니다.

이제 properties["api_key"]로 키에 접근할 수 있게 되었습니다.
하지만 지금은 gradle에서만 접근 가능합니다.

3. build config 사용 설정

build.gradle -> android -> buildFeatures에 내용을 추가합니다.

buildFeatures {
	/*기존 내용*/
    buildConfig true
}	

저희가 buildConfig를 추가로 정의해서 사용할 것이기에 사용한다고 적어줍니다.

4-1. 접근 - manifest

manifest파일에서 사용할 수 있도록합니다.
build.gradle -> android -> defaultConfig에 내용을 추가합니다.

defaultConfig {
	/*기존 내용*/
    
    manifestPlaceholders = [APP_KEY: properties["api_key"]]
}

위와 같이 적으면 manifest파일에서 APP_KEY라는 이름으로 키에 접근할 수 있습니다.

android:value="${APP_KEY}"

4-2. 접근 - BuildConfig

일반적으로 코드를 치면서 사용할 수 있도록합니다.
build.gradle -> android -> defaultConfig에 내용을 추가합니다.

defaultConfig {
	/*기존 내용*/
    
    buildConfigField "String", "API_KEY", "\"${properties["api_key"]}\""
}

위와 같이 적으면 BuildConfig라는 파일안에 String형의 API_KEY라는 이름을 가지는 상수가 생깁니다.

값은 local.properties에 적었던 키값를 지닙니다.

이제 코드를 치면서 상수가 필요하다면 buildConfig.API_KEY 로 키에 접근 할 수 있습니다.

val key = buildConfig.API_KEY

profile
~(~o~)~

0개의 댓글