본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
학교의 모든 지식. SMwiki
검색
검색
보이기
로그인
개인 도구
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
플러터:배포(안드로이드)
편집하기
문서
토론
한국어
읽기
편집
원본 편집
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
편집
원본 편집
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
파일 올리기
문서 정보
보이기
사이드바로 이동
숨기기
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
== 개요 == 플러터(Flutter)로 개발한 애플리케이션을 안드로이드(Android) 환경에서 배포하기 위해서는 릴리즈 빌드 생성, 서명(Signing), Google Play Console 등록 등의 과정을 거쳐야 한다. == 사전 준비 == 다음 항목들이 준비되어 있어야 한다. {| class="wikitable" !항목 !설명 !비고 |- |플러터 환경 확인 |flutter doctor 에서 안드로이드와 관련한 모든 항목이 초록 체크(✓) 상태여야 한다. |아마 이미 되어 있겠지만.. |- |계정 | * Google 계정 * Google Play Developer 계정(유료, 1회 등록) | |} == 앱 정보 설정 == === 앱 패키지명 (Application ID) === 안드로이드 앱은 고유한 패키지명을 가진다. 형식: <code>com.example.myapp</code> 확인 및 수정 위치: <syntaxhighlight lang="text"> android/app/build.gradle </syntaxhighlight> <syntaxhighlight lang="gradle"> defaultConfig { applicationId "com.example.myapp" } </syntaxhighlight> ※ Google Play에 한 번 등록한 패키지명은 변경할 수 없다. === 앱 이름 === 표시되는 앱 이름은 다음 파일에서 설정한다. <syntaxhighlight lang="xml"> android/app/src/main/res/values/strings.xml </syntaxhighlight> <syntaxhighlight lang="xml"> <string name="app_name">My App</string> </syntaxhighlight> == 릴리즈용 키 생성 == 안드로이드 앱은 반드시 '''서명된 APK 또는 AAB''' 파일로 배포해야 한다. === 키스토어 생성 === 다음 명령으로 키스토어를 생성한다. <syntaxhighlight lang="bash"> keytool -genkey -v -keystore my-release-key.jks \ -keyalg RSA -keysize 2048 -validity 10000 \ -alias my-key-alias </syntaxhighlight> <code>my-release-key.jks</code> 파일은 반드시 안전하게 보관해야 한다. 키 분실 시 앱 업데이트가 불가능해진다. === 키 정보 등록 === 키 정보를 별도 파일로 관리한다. <syntaxhighlight lang="text"> android/key.properties </syntaxhighlight> <syntaxhighlight lang="properties"> storePassword=비밀번호 keyPassword=비밀번호 keyAlias=my-key-alias storeFile=my-release-key.jks </syntaxhighlight> === build.gradle 설정 === <syntaxhighlight lang="gradle"> def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file("key.properties") if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } android { signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } buildTypes { release { signingConfig signingConfigs.release } } } </syntaxhighlight> == 릴리즈 빌드 생성 == === Android App Bundle (권장) === Google Play 권장 방식이다. <syntaxhighlight lang="bash"> flutter build appbundle </syntaxhighlight> 생성 위치: <code>build/app/outputs/bundle/release/app-release.aab</code> === APK 파일 생성 (테스트용) === <syntaxhighlight lang="bash"> flutter build apk --release </syntaxhighlight> == Google Play Console 등록 == === 개발자 계정 생성 === https://play.google.com/console 1회 등록비 결제 필요 === 새 앱 만들기 === 앱 이름 입력 기본 언어 선택 앱 또는 게임 선택 무료/유료 여부 선택 === 앱 정보 입력 === 필수 입력 항목: 앱 설명 (짧은 설명 / 자세한 설명) 앱 아이콘 (512×512) 스크린샷 개인정보처리방침 URL == 앱 업로드 == === 내부 테스트 === 처음 배포 시 내부 테스트를 권장한다. 경로: <code>테스트 → 내부 테스트 → 새 버전 만들기</code> AAB 파일 업로드 테스터 계정 등록 실제 기기에서 설치 테스트 가능 === 프로덕션 배포 === 모든 검토가 끝난 후 프로덕션으로 배포한다. 심사 소요 시간: 수 시간 ~ 수일 정책 위반 시 반려 가능 == 버전 관리 == 버전은 다음 두 값으로 관리한다. <syntaxhighlight lang="yaml"> version: 1.0.0+1 </syntaxhighlight> <code>1.0.0</code> : 사용자에게 보이는 버전 <code>+1</code> : 내부 빌드 번호 (업데이트 시 반드시 증가) == 주의사항 == * 릴리즈 키 분실 금지 * 패키지명 변경 불가 * 광고 사용 시 광고 ID 및 정책 명시 필요
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
검색
검색
플러터:배포(안드로이드)
편집하기
새 주제