본문 바로가기
개발/안드로이드

Keystore 정보를 스마트 하게 관리 하자!

by 파란검정 2022. 2. 8.
반응형

KeyStore정보를 스마트 하게 관리하자


 

github에 프로젝트를 public으로 관리할때도 그렇고 노출하고 싶지 않은 정보들이나

중요한 키 정보들을 프로젝트에 포함하다 보면 불편할때가 있다.

 

이럴때는 중요 정보들을 다른 파일로 분리하고 분리한 파일에서 정보를 불러와 사용 하는 방법으로

사용 하면 github에 프로젝트를 노출 해도 된다.

(요즘 이직시에 github주소를 요구하는 회사들이 많으니 말이다.. 맘놓고 프로젝트를 올리고 자랑해 보자.)

 

 

 

 

 

프로젝트는 노출하고 노출하면 안되는 key 정보들은 숨기고!!
자 우리도 한번 해보자!!

 

 

 


 

우선 keystore를 구성하는 정보를 외부 파일로 만드는 방법에 대해서 알아보자. 

안드로이드 개발자 사이트에서도 자세하게 설명하고 있다.

 

 


 

프로젝트 루트 디렉토리에 "keystore.properties"라는 이름으로 파일을 만들자. 

 

 

 

 

 


 

keystore.properties 파일에 keystore에 필요한 정보들을 입력하자. 

파일 내용은 다음과 같이 구성하면 된다. 

storePassword=myStorePassword
keyPassword=mykeyPassword
keyAlias=myKeyAlias
storeFile=myStoreFileLocation

 

sample 

 

 

 

 

 


 

app level의 gradle 파일에서 다음 코드를 이용해서 keystore 서명 정보를 불러오자. 

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

keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
   ...

}

 

 

그리고 불러온 내용을 이용해서 앱을 서명할 수 있게 정보를 구성해 주자. 

android {
    signingConfigs {
        config {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }

...

}

 

 

 

위내용을 구성한 :app 레벨의 bulid.gradle의 예제 파일은 다음과 같다. 

표시한 부분을 추가 하면 된다. 

 

 

 


 

내용 구성이 다 되었다면 빌드해 보자. 

안드로이드 스튜디오 왼쪽 하단의 Build variants를 알맞게 선택하고 

 

 

 

 

Build 메뉴의 apk 혹은 bundle을 선택 하면 된다. 

 

 

 

 


 

사인된 파일을 확인 할 수 있을 것이다. 

 

 

 

 


Tip - keystore를 아직 안만들었다면 먼저 만들어주고 build하자! ;)

 

 

 

 

끝~!!!!

반응형