ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (패키지명 변경, 키 서명, 프로가드, 앱번들 만들기) 플래터(Flutter) - 개발한 앱플레이스토어 배포용 APK 만들기
    카테고리 없음 2021. 8. 10. 03:41

    앞으로 개발한 미소타카 루비 앱을 구글 플레이스토어에 등록하기 위해 배포용 APK를 만들어야 한다.

     

    패키지(Package) 이름 변경

    우선 패키지명부터 변경해 보자.VS Code에서 Shift+Ctrl+F를 누르면 프로젝트 전체에서 검색할 수 있다.

    이 때, 기본 패키지명 형식인 "com.example"로 검색하면 다음과 같이 나타난다.

    여기에서 검색하여 com.examp le.miso_chicken_rib 로 되어 있는 것을 변경하지만, 일반적으로 본인의 회사명으로 변경한다.

    예) com. 회사명. 앱 이름

    주의: 패키지 이름은 한 번 플레이스토어에 올리면 수정할 수 없으므로 신중하게 작성할 것

    앱 버전 확인

    pubspec.yaml로 버전을 변경하면 된다.첫 번째 버전이므로 기본값인 1.0.0+1로 처리한다.

    1.0.0은 버전명을 나타내며, +1은 버전 코드로 업데이트 시 각각 + 처리한다.

    예를 들어 '1.0.0+1'의 출시 후, 다음 버전은 '1.0.+2' 또는 '1.0.1+2'와 같이 필요한 부분을 +처리하면 된다.

    앱 권한 체크

    아래 경로와 같이 Android Manifest.xml 파일을 열어 앱에서 사용할 권한이 필요한 경우 추가한다.

    플래터 프로젝트 생성 시 기본적으로 INTERNET 권한이 포함되어 있으며, 미소 닭갈비 앱 개발 시 사용하는 권한은 웹뷰 호출 정도이므로 특별히 추가하지는 않는다.

    앱명 설정과 아이콘 변경은 이전 포스팅을 통해 처리하였으므로 원하는 경우 아래 URL을 참조하면 된다.

    참고로 앱명은 '닭갈비'에서 '웃는 얼굴 닭갈비'로 변경했다.확인해 보니 시뮬레이터에서만 앱 이름 5자가 표시돼 있지 않았기 때문이다.

    https://blog.naver.com/PostView.nhn?blogId=kroa&logNo=222188129902&categoryNo=33&parentCategoryNo=0&viewDate=&currentPage=2&postListTopCurrentPage=&from=postList 이번에는 플러터 앱 아이콘을 아주 쉽게 추가해보겠다 . パッケージ を 利用 して アンドロイド と iOS を 一 発 で ... blog.naver.com

     

    앱에 서명하다

    구글 플레이스토어에 올리려면 본인의 디지털 키를 앱에 서명해야 한다.

    개발자를 인증하기 위한 인증서라고 이해하면 되며, VSCODE 터미널에서 다음과 같이 입력해 key tool을 이용해 키스토어 서명서를 생성한다.

    key.jks는 키 파일로 암호화 알고리즘은 RSA를 사용하고, 암호화 키 사이즈는 2048, 서명서 유효기간은 10000일로 설정한다는 의미이다.

    여기에서 '~key.jks'라고 되어 있는데, 본인의 PC에 인증서를 저장하는 패스를 넣으면 된다.예 ) D : lutter _ sourcedepoly _ keymiso _ chicken _ rib / key . jks

     

    명령어를 입력하면 아래와 같이 키 저장소의 비밀번호를 입력하도록 보여지고 비밀번호를 입력하면 된다.

    이후 이름과 성, 조직단위 이름, 조직명, 시도명, 조직 두 자리 국가코드 등을 입력하라는 표시인데 순서대로 입력하고 정확한지 물어볼 때 Y를 입력하면 된다.
    이후 비밀번호를 다시 입력 하고 아래와 같이 지정한 경로에 JSK 키가 생성된다.
    본인은 이 key.jks 파일 를 android app 폴더에 넣어주었다.
    앱키스토어 참조

    이것으로, 배포용 앱의 빌드시에 참조하기 위해서 android app 폴더에 key.properties 파일 생성 후, 이하의 내용을 포함한다.

    storePassword=<키 생성 시 입력한 암호>keyPassword=<키 생성 시 입력한 암호>keyAlias=keystoreFile=.key.jks

     

    Gradle 서명 구성

    이후 Gradle 빌드 시에 key.properties 파일 참조를 위해 Gradle로 android 블록 상단에 아래의 내용을 추가한다.

    코드는 이하와 같다. 이후 Gradle에서 build Type 블록 상단에 singnig Configs 블록을 추가한다.
    또한 앱을 릴리스(배포용)에서 빌드하기 위해 build Types의 release를 signing Configsigning Configs.release로 변경한다.
    프로가드활성화

    앱 난독화를 위해 프로가드를 활성화해야 한다.APK 파일 크기를 줄이고 코드 디컴파일 시 소스 코드를 알 수 없도록 난독화한다.

    프로가드 규칙 구성을 위해 androidappproguard-rules.pro 파일을 생성하고 다음 규칙을 추가한다.

    Gradle 빌드 시 프로가드 파일을 참조할 수 있도록 build.gradle 파일에서 build Types 블록 내에 아래의 내용을 추가하여 프로가드를 사용하겠다고 선언한다.
    앱번들 또는 APK 제작

    플레이스토어 게시 시 두 가지 릴리즈 방식을 사용할 수 있으며 앱번들 생성 방식과 APK 생성 방식이 있는데 구글 가이드에 따르면 앱번들 생성을 권장하고 있다.

    앱 번들의 장점은 번들 툴과 구글 플레이를 통해 테스트가 가능하다는 점이고 단점은 arm, x86 코드가 모두 컴파일되어 APK 파일이 무거워진다.

    - 앱 번들 작성 명령어 flutter build appbundle

    어플에 아무것도 없는데 37.7 MB라니 용량이 너무 커이미지 파일 같은 걸 최적화 안 해서 그런가?이건 나중에 고민해볼게

     

    - APK 생성 명령어 flutter buildapk -split-per-abi

    확실히 APK는 번들에 비해 용량이 줄었다그래도 26.7MB면 크긴 하다.

     

     

    휴대전화 APK 설치 및 테스트

    flutter install 명령을 입력하면 연결된 기기(휴대전화)에 APK가 배포되어 테스트를 할 수 있다.

    연결된 휴대전화에서 정확히 동작하는 것을 확인할 수 있다.이제 다음 포스팅에서 구글 플레이스토어에 내가 만든 앱을 등록해볼게.

Designed by Tistory.