728x90
반응형
사전 준비
- 구글 플레이 개발자 계정 (등록비 $25, 1회)
- Flutter 프로젝트
1단계. 서명 키(Keystore) 생성
앱 배포에는 반드시 서명 키가 필요하다. 앱의 "도장" 같은 것으로, 한 번 잃어버리면 업데이트가 불가능하므로 안전한 곳에 백업해둬야 한다.
터미널에서 아래 명령어를 실행한다.
keytool -genkey -v \
-keystore ~/파일명.jks \
-alias 별칭 \
-keyalg RSA \
-keysize 2048 \
-validity 10000
입력 항목:
- 비밀번호 (잘 기억해두기)
- 이름, 조직, 도시, 도/시, 국가코드 (KR)
- 마지막 확인에서 y 입력
2단계. Android 개발자 인증 (패키지 이름 + SHA-256 등록)
구글 플레이 콘솔 > Android 개발자 인증 메뉴에서 패키지 이름을 등록한다.
패키지 이름 등록 후 SHA-256 지문을 입력해야 한다. 아래 명령어로 지문을 추출한다.
keytool -list -v \
-keystore ~/파일명.jks \
-alias 별칭
출력 결과 중 SHA256: 으로 시작하는 줄을 복사해서 붙여넣는다.
3단계. 앱 서명 설정
key.properties 파일 생성
프로젝트 android/ 폴더 안에 key.properties 파일을 만든다.
storePassword=비밀번호
keyPassword=비밀번호
keyAlias=별칭
storeFile=/Users/사용자명/파일명.jks
⚠️ 이 파일은 절대 git에 올리면 안 된다. .gitignore에 key.properties가 있는지 확인할 것.
build.gradle.kts 수정
android/app/build.gradle.kts 상단에 추가:
import java.util.Properties
import java.io.FileInputStream
val keyPropertiesFile = rootProject.file("key.properties")
val keyProperties = Properties()
keyProperties.load(FileInputStream(keyPropertiesFile))
android { } 블록 안에 서명 설정 추가:
signingConfigs {
create("release") {
keyAlias = keyProperties["keyAlias"] as String
keyPassword = keyProperties["keyPassword"] as String
storeFile = file(keyProperties["storeFile"] as String)
storePassword = keyProperties["storePassword"] as String
}
}
buildTypes {
release {
signingConfig = signingConfigs.getByName("release")
}
}
4단계. AAB 파일 빌드
flutter build appbundle --release
빌드 완료 후 파일 위치:
build/app/outputs/bundle/release/app-release.aab
5단계. 플레이 콘솔에 앱 등록
플레이 콘솔 홈에서 앱 만들기를 클릭한다.

항목입력값
| 앱 이름 | 앱 이름 |
| 패키지 이름 | com.xxx.xxx |
| 기본 언어 | 한국어 - ko |
| 앱 또는 게임 | 앱 |
| 유료 또는 무료 | 무료 |
스크롤을 내리면 선언 항목이 나온다. 체크박스 두 개 모두 체크한다.


6단계. 내부 테스트 버전 업로드
테스트 > 내부 테스트 > 새 버전 만들기 클릭 후 AAB 파일을 업로드한다.

항목입력값
| 항목 | 입력값 |
| 출시명 | 1.0.0 |
| 출시 노트 | 아래 참고 |
<ko-KR>
첫 번째 테스트 버전입니다.
</ko-KR>
다음 클릭 후 출시.
7단계. 테스터 초대
내부 테스트 > 테스터 탭 > 이메일 목록 만들기에서 테스터 이메일을 추가하면 초대 링크가 생성된다.
최대 100명까지 가능. 심사 없이 바로 배포된다.
반응형