#Grip 9기# 일기_1011 - [안드로이드]150mb 이상 apk 구글플레이 콘솔 등록

JH·2022년 10월 14일
0

인턴

목록 보기
15/25
post-thumbnail

구글플레이 콘솔에 어플을 등록하려는데 어플의 크기가 인공지능으로 인해 너무 크다보니 오류가 계속해서 발생했다.

저번에 unity이용해서 빌드에 성공한줄 알고 뒀었는데 알고보니 안드로이드 스튜디오로 만든 프로그램이 올라간게 아니라 그냥 거기서 프로젝트 하나 만든 빈 프로젝트가 빌드되서 올라간 것이었다

말도 안돼...ㅜㅜㅜ

지금 pad 방식 pfp 방식 등등 여러가지 확인을 했지만 이해를 못해서 계속해서 고민하다가 결국 pad방식을 이해해서 성공했다.

1. app의 최상위 디렉토리에서 폴더를 하나 만든다
너무 어렵게 생각했나 보다.. 여기서 부터 막혔는데 진짜 단순하게 asset용 폴더를 만드는 것이었다.

2. 에셋 팩 디렉터리에 build.gradle 파일을 만든 후 다음 코드를 추가한다.

apply plugin: 'com.android.asset-pack'

assetPack {
    packName = "asset-pack-name" // Directory name for the asset pack
    dynamicDelivery {
        deliveryType = "[ install-time | fast-follow | on-demand ]"
    }
}

이 부분에서도 살짝 애먹었는데 [ install-time | fast-follow | on-demand ] 모두 작성하는줄 알았지만 알고보니 셋 중에 하나를 선택해서 사용하는 것이었다.

install-time 애셋 팩은 앱이 설치될 때 전송됩니다. 이러한 팩은 분할 APK(APK 세트의 일부)로 제공되며 '선불' 애셋 팩이라고도 합니다. 이러한 팩은 앱 실행 즉시 사용할 수 있고 Google Play 스토어에 등록된 앱 크기에 기여합니다. 사용자가 이 팩을 수정하거나 삭제할 수 없습니다.

fast-follow 애셋 팩은 앱이 설치되는 즉시 자동으로 다운로드됩니다. 사용자는 fast-follow 다운로드를 시작하려고 앱을 열지 않아도 됩니다. 이러한 다운로드는 사용자가 앱에 들어가는 것을 방지하지 않습니다. 이 팩은 Google Play 스토어에 등록된 앱 크기에 기여합니다.

on-demand 애셋 팩은 앱이 실행되는 동안 다운로드됩니다.

나는 어플 설치와 동시에 에셋 팩이 모두 설치되도록 install-time을 이용했다.

3. 프로젝트의 앱 build.gradle파일에서 프로젝트의 모든 에셋 팩 이름을 추가한다.

// In the app build.gradle file:
android {
    ...
    assetPacks = [":asset-pack-name", ":asset-pack2-name"]
}

4.프로젝트의 settings.gradle파일에서 프로젝트의 모든 에셋팩을 포함한다.

// In the settings.gradle file:
include ':app'
include ':asset-pack-name'        //<- 이거랑
include ':asset-pack2-name'       //<- 요부분

5. 아까 만든 에셋 팩 디렉터리에 하위 디렉터리 src/main/assets를 만든다.

6. 내가 사용할 에셋을 방금 만든 디렉터리 끝에 배치한다.
내가 등록한 어플을 예시로 들면 주름과 모공을 판단하는 인공지능이 있다. (인공지능 두개 넣는데 용량이 200mb가 넘는다.)

7. 빌드 후 aab 파일 등록.

알고보니 이렇게 간단한건데 알기 전까지는 왜이렇게 어려웠나 싶다.
뜬금없는 unity나 계속 들어가서 안드로이드 스튜디오랑 호환 시키려 하고 이상한 시행착오를 많이 겪었다.
하지만 다음번에는 이번 시행착오 덕분에 어플 등록은 단숨에 할 수 있을것 같다.

0개의 댓글