티스토리 뷰

반응형

안드로이드에서 서버 URL을 숨기고 싶거나 아래와 같이 BuildConfig를 통해 사용하고 싶을 때 사용합니다.

 

 

 

keystore.properties 만들기

먼저 url 등 중요한 정보를 저장할 keystore.properties를 만들어줍니다. [ 프로젝트 안에 만들어줘야 됩니다. ]

 

 

Project로 설정해주고 New > File을 눌러 생성을 해줍니다.

 

그리고 아래와 같이 작성해줍니다.

 

 

keystore.properties

 

 

build.gradle 설정하기

Modulebuild.gradle에 아래와 같이 설정을 해줍니다.

 

android {
    ...

    def keystorePropertiesFile = rootProject.file("keystore.properties")
    def keystoreProperties = new Properties()
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

    defaultConfig {
       ...
       
        buildConfigField "String", "BASE_URL", keystoreProperties["BASE_URL"]
    }
    
    ...
}

 

rootProject.file을 통해 keystore.properties를 등록합니다.

 

defaultConfig안에 buildConfigField를 통해 자료형, 이름, keystore에서 설정된 이름을 상수를 추가합니다.

 

사용하기

 

아래와 같이 사용하면 됩니다.

BuildConfig.BASE_URL

 

만약 BuildConfig가 자동완성이 안되고, 빨간색으로 오류가 발생하면 Rebuild Project를 해주시면 됩니다.

 

 

BuildConfig에서 아래와 같이 BASE_URL 값이 들어가 있는 것을 확인할 수 있습니다.

 

 

 

 

깃허브에 올릴 때 .gitignore에서 keystore.properties를 제외 해주고 커밋하면 됩니다.

반응형
댓글