-
[Flutter] 어플 등록 플레이스토어에 등록하기.프로그래밍/Flutter 2023. 5. 7. 01:46반응형
스스로를 채찍질 하기 위해서, 뭔가 간단하지만 끝까지 해보기 위해 등록에 도전하려고 한다.
등록하기 전 확인 할 것.
디버깅 모드 - 158메가
1. 에러 수정 - 0원은 안나오는 에러가 있음. - 수정
2. 앱 아이콘 - 어찌저찌 해서 만듬
3. 앱 시작 화면 - 자동으로 앱 아이콘이 뜬다.(현재)
4. 앱 이름 변경 - 완료
5. 배포버전 빌드 - 진행중.앱 아이콘은 이걸 참고했다.
bing 이미지 생성기(무료) 에서 아이콘으로 쓸 이미지 달라고 했다.
그래도 이걸로 포스트에 나온데로 하니 바로 적용이 되었고, 이제 앱 이름을 변경해보려고 한다.
AndroidManifest.xml에 들어가서 android:label을 변경했다. 변경되었다...
AndroidManifest.xml은 android/app/src/main 아래에 있다.
앱 난독화와 빌드
https://docs.flutter.dev/deployment/android
여길 참고해서 난독화 빌드를 하고 키를 생성했다. 저번키는 생각이 안난다. 잘 모르겠다.,
앱 번들과 APK
찾아보니 구글 스토어에는 이제 APK를 올릴수 없게 된것 같다. 대신 앱번들이라는 걸로 만들어 올려야 하는것 같은데.
그러면 다시 앱번들로 만드는 법을 찾아봐야 겠다.
flutter build appbundle --obfuscate --split-debug-info=/프로젝트명/build
로 하니 실패. 구글링 해보니 png 파일이 사실 png 파일이 아니었다고 한다. 위 사이트에서 찾은건데... 아무튼 변경해야겠다.
진짜 인가 싶어. 파일의 원래 확장자를 살펴보는(?) 파이썬의 magic 라이브러리를 사용해 파일의 확장자를 살펴보았다.
JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 72x72, frames 3
충격적이게도 JPEG로 나온다. 분명히 png 파일을 입력 했음에도..
이걸 변경해야 한다.
import magic file1_path = 'D:\dev\Flutter\프로젝트명/android/app\src\main/res\mipmap-hdpi/ic_launcher.png' print(magic.from_file(file1_path))
세상은 넓고 내가 모르는건 많았다.
파이썬으로 PNG 파일로 교체했다.
from PIL import Image folders = ['mipmap-hdpi', 'mipmap-mdpi', 'mipmap-xhdpi', 'mipmap-xxhdpi', 'mipmap-xxxhdpi'] for fol in folders : with Image.open('D:\dev\Flutter\프로젝트명/android/app\src\main/res\{}/ic_launcher.png'.format(fol)) as im: # Save the image as PNG format im.save('D:\dev\Flutter\프로젝트명/android/app\src\main/res\{}/ic_launcher.png'.format(fol), 'PNG')
결과는
PNG image data, 72 x 72, 8-bit/color RGB, non-interlaced
D:\dev\Flutter\프로젝트명>flutter build appbundle --obfuscate --split-debug-info=/프로젝트명/build Running Gradle task 'bundleRelease'... 85.0s √ Built build\app\outputs\bundle\release\app-release.aab (18.4MB). D:\dev\Flutter\프로젝트명>
개발자 콘솔에 빌드한 내용을 올렸더니 이런 내용이 나왔다.
디버그 모드로 서명한 APK 또는 Android App Bundle을 업로드했습니다. 출시 모드로 APK 또는 Android App Bundle에 서명해야 합니다.
위를 참고해 변경했더니 오류가 나왔다.
일단 내가 properties의 개념을 잘 모르는것 같아서 flutter.dev 에서 찾아보았다.
https://docs.flutter.dev/deployment/android#building-the-app-for-release
단계는
1. 키생성
2. key.properties 생성
storePassword=<password from previous step> keyPassword=<password from previous step> keyAlias=upload storeFile=<location of the key store file, such as /Users/<user name>/upload-keystore.jks or C:\\Users\\<user name>\\upload-keystore.jks>
3. build.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 keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null storePassword keystoreProperties['storePassword'] } } buildTypes { release { signingConfig signingConfigs.release } }
이렇게 수정하니 빌드 성공
'com.example'은(는) 제한되어 있으므로 다른 패키지 이름을 사용해야 합니다.
온갖 에러가 다 나온다. 너무 대충 만들어서 그런가. 패키지 이름을 com.example로 만들어놨네.
android/app/build.gradle로 들어가서
android { namespace "여기부분 변경" compileSdkVersion flutter.compileSdkVersion ndkVersion flutter.ndkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } sourceSets { main.java.srcDirs += 'src/main/kotlin' }
defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "여기도 변경" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName }
광고도 없고, 뭐 정부 앱도 아니고 하여튼 동의만 하면 되는 부분.
그 다음. 앱 아이콘, 앱 이미지, 스크린샷 등등 업로드 하고 기다리면 된다. 일단 기다려 보겠다.
2023/05/13(일)
7일에 업로드한걸로 기억하는데, 5~6일정도 걸렸다. 게시 대기 중에서 게시 됨으로 상태가 바뀌었고, 확인해보니, 앱이 오류가 나서 실행이 안된다. 나중에 내부 테스트를 신청해서 오류를 고치고 다시 게시해야겠다. 생각보다 오래 걸렸다.
반응형'프로그래밍 > Flutter' 카테고리의 다른 글
[Flutter] 오랜만에 다시 시작하는 Flutter (0) 2023.11.08 [Flutter] 어플 등록 플레이스토어에 등록하기2. (0) 2023.05.22 [Flutter] Error: A JNI error has occurred, please check your installation and try again (0) 2023.04.12 [Flutter] Flutter 진행 노트 - 1 (0) 2023.04.11 [Flutter] Flutter 환경 설정 (0) 2023.04.09