본문 바로가기
Flutter/Deploy

안드로이드 앱 서명을 위한 key.properties 파일 생성하기: 초보자 가이드

by Maccrey Coding 2024. 8. 2.
반응형

 

안드로이드 앱을 배포하려면, 앱을 서명해야 합니다.

서명은 사용자가 앱의 출처를 신뢰할 수 있도록 하는 중요한 과정입니다.

플러터(Flutter) 프로젝트에서 서명을 관리하기 위해, 우리는 key.properties 파일을 사용합니다.

이 파일은 서명 키의 정보와 경로를 안전하게 관리하는 역할을 합니다.

이 가이드는 key.properties 파일을 생성하고 설정하는 방법을 초보자도 쉽게 따라할 수 있도록 자세히 설명합니다.


1. 서명 키와 키스토어 파일 준비

서명 키와 키스토어 파일은 앱을 서명하는 데 필요한 중요한 파일들입니다.

만약 이미 키스토어 파일이 없다면, 새로 생성해야 합니다.

키스토어 파일 생성 방법은 다음과 같습니다

keytool -genkey -v -keystore <your-key-store-file>.keystore -alias <your-key-alias> -keyalg RSA -keysize 2048 -validity 10000
  • <your-key-store-file>: 키스토어 파일의 이름 (예: my-release-key.keystore)
  • <your-key-alias>: 키의 별칭 (예: myKeyAlias)

명령어를 실행하면 몇 가지 정보를 입력해야 합니다(비밀번호, 이름, 조직 등). 이 정보를 잘 기억해 두세요.

2. key.properties 파일 생성

이제 프로젝트의 루트 디렉토리에 key.properties 파일을 생성합니다. 이 파일은 서명 키의 경로와 정보(별칭 및 비밀번호)를 안전하게 관리하는 데 사용됩니다.

 

2.1. key.properties 파일 생성 위치

프로젝트의 루트 디렉토리에 key.properties 파일을 생성합니다. 이 위치는 일반적으로 android 폴더가 있는 위치입니다.

 

2.2. 파일 내용 작성

key.properties 파일에 다음과 같은 내용을 추가합니다.

storePassword=<your-store-password>
keyPassword=<your-key-password>
keyAlias=<your-key-alias>
storeFile=<path-to-your-keystore-file>

 

  • storePassword: 키스토어 파일의 비밀번호
  • keyPassword: 키의 비밀번호
  • keyAlias: 키의 별칭
  • storeFile: 키스토어 파일의 경로

예시

storePassword=myStorePassword123
keyPassword=myKeyPassword123
keyAlias=myKeyAlias
storeFile=/Users/username/project/my-release-key.keystore

 

⚠️ 중요: 보안상의 이유로 key.properties 파일을 버전 관리 시스템(Git 등)에 포함시키지 않는 것이 좋습니다.

.gitignore 파일에 key.properties를 추가하여 이 파일이 공유되지 않도록 설정하세요.
GitHub에 keystore가 노출 되지 않도록 아래 내용을 추가해준다. ( android -> .gitignore )

key.properties
**/*.keystore
**/*.jks

 

3. build.gradle 파일 수정

key.properties 파일의 정보를 읽어와 앱을 서명할 수 있도록 android/app/build.gradle 파일을 수정해야 합니다.

 

3.1. key.properties 읽어오기

android/app/build.gradle 파일의 상단에 다음 코드를 추가하여 key.properties 파일을 읽어옵니다.

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

 

3.2. 서명 구성 추가

같은 파일에서 android 블록 안에 signingConfigs와 buildTypes 블록을 추가합니다.

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

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

이 설정은 key.properties 파일에 저장된 정보를 사용하여 앱을 서명합니다.

 

4. 정리

이제 key.properties 파일을 사용하여 플러터 프로젝트에서 안드로이드 앱을 서명할 준비가 완료되었습니다.

다음 단계로, 앱을 배포하기 전에 flutter build appbundle 명령어를 사용하여 서명된 앱 번들을 생성할 수 있습니다.

 

팁: 항상 서명 키와 비밀번호를 안전하게 보관하세요. 만약 키를 잃어버리거나 비밀번호를 잊어버리면 동일한 키로 업데이트를 제공할 수 없게 됩니다.

5. 추가 고려 사항

  • 보안: 비밀번호와 같은 민감한 정보는 안전하게 보관하세요. key.properties 파일을 안전한 곳에 저장하고 접근을 제한해야 합니다.
  • 백업: 키스토어 파일의 백업을 반드시 만들어 두세요. 키스토어를 잃어버리면 동일한 키로 업데이트를 제공할 수 없기 때문에 백업이 중요합니다.

요약

 

  1. key.properties 파일은 안드로이드 앱 서명 정보를 저장합니다.
  2. 키스토어와 키 정보를 key.properties에 기록하고, build.gradle에 연결합니다.
  3. 보안과 백업을 철저히 하여 서명 키를 안전하게 관리하세요.

 

key.properties 파일은 안드로이드 앱의 서명 정보를 안전하게 관리하기 위한 중요한 파일입니다.

이 파일을 올바르게 설정하고 관리하여, 보안과 편의성을 모두 잡을 수 있습니다.

 

 

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

 

반응형