2.1 KiB
2.1 KiB
Android 릴리즈·내부 배포 경로 (Phase 1 C)
v1은 Android만 대상 (tech-design.md §8). Play 스토어 공개가 아니라
지인 클로즈드 베타용 내부 APK/AAB 경로를 먼저 고정한다.
산출물
| 산출물 | 명령 | 용도 |
|---|---|---|
| 내부 APK | ./scripts/build_release_apk.sh |
직접 설치·메신저 공유 |
| AAB | ./scripts/build_release_aab.sh |
Play 내부 테스트 트랙 (선택) |
서명 키 (Master 로컬 전용)
- 키스토어는 절대 git에 넣지 않는다 (
mobile/android/key.properties,*.jks,*.keystore는 gitignore). - Master 머신에서 한 번 생성:
keytool -genkey -v -keystore ~/bunsin-release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias bunsin
mobile/android/key.properties.example을 복사해mobile/android/key.properties작성:
storePassword=...
keyPassword=...
keyAlias=bunsin
storeFile=/absolute/path/to/bunsin-release.jks
key.properties가 없으면 release 빌드는 디버그 서명으로 폴백하며 경고를 낸다 (내부 스모크용). 베타 배포본은 반드시 release keystore로 서명한다.
빌드
cd mobile
flutter pub get
../scripts/build_release_apk.sh
# → build/app/outputs/flutter-apk/app-release.apk
../scripts/build_release_aab.sh # Play 내부 테스트용 (선택)
API 베이스 URL은 배포 대상 서버에 맞게:
flutter build apk --release \
--dart-define=CORE_API_BASE=https://api.example.com
배포 채널 (권장 순서)
- 직접 APK — 초대받은 지인에게만 파일 전달 (1차 클로즈드 베타)
- Play 내부 테스트 — 규모가 커지면 AAB + 테스터 이메일 목록
- 공개 트랙 — Phase 게이트(
vision.md) 통과 전 금지
체크리스트
key.properties+ jks가 Master 백업에만 존재CORE_API_BASE가 베타 서버를 가리킴ADMIN_API_TOKEN/GEMINI_API_KEY/FCM_SERVER_KEY가 서버에만 설정- 초대 코드 운영 (
docs/invite-ops.md) 숙지 - 실기기에서
mobile/README.mdE2E UI 체크 1회