본문 바로가기
Android/개발 정보

Android 16KB 페이지 크기 지원 관련 이슈

by 일놀 2025. 9. 17.
728x90
반응형

이번에 안드로이드 정책관련하여 API 35 이상부터만 구글 마켓에 올릴 수 있게 되었다.

단순히 build.gradle 에서 targetSdk, compileSdk, minSdk 를 35로 바꾸는 것으로 해결되었었다. 

그런데 얼마 후 Google Play 16KB 페이지 크기 요구 라는 메일이 날라왔다.

이런 내용이였는데 검색해봐도 잘 안나와서 답답했었다.

 

현재 내 상태.

compileSdk 35
minSdk 35
targetSdk 35
AndroidStudio - LadyBug
gradle - 'com.android.tools.build:gradle:8.7.3'
gradle-wrapper.properties - distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
plugins - id 'com.gladed.androidgitversion' version '0.4.14'
ndk - 28.2.13676358 , 28.0.12916984 , 28.0.12674087 , 28.0.12433566 , 27.0.12077973 , 26.1.10909125 , 25.2.9519653
(ndk 는 여러개가 깔려있는데 뭐를 사용하고 있는지는 잘 모르겠음....)

대충 이런 상태.

 

 

16KB 페이지에 대해 테스트를 위해서 애뮬레이터를 만들어봄

1. file > settings > Android SDK > SDKPlatforms 로 이동 후

  • Google APIs Experimental 16 KB Page Size ARM 64 v8a System Image
  • Google APIs Experimental 16 KB Page Size Intel x86_64 Atom System Image

체크하여 설치

 

2. 애뮬레이터 api35 로 생성

생성 시 16 KB Page Size Google APIs PlayStore 항목으로 설치

 

만들어둔 애뮬레이터에서 앱을 실행하니까 이상한 에러 나면서 앱이 실행이 안됨.

 

해결방법

1. build.gradle 부분에  arguments "-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON"  추가

android {
    compileSdk 35

    defaultConfig {
        minSdk 35
        targetSdk 35
        vectorDrawables.useSupportLibrary = true

        externalNativeBuild {
            cmake {
                arguments "-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON"    // 이거 추가
            }
        }
    }

 

16KB 페이지 지원을 위해서는 AGP 8.5.1 이상 , Android NDK r28 이상 이면 자동으로 정렬되어 처리된다고 한다.

나 같은 경우에는 둘 다 해당되서 자동인줄 알았는데 저 항목을 추가해야하는 것을 보면 ndk 가 낮은버전을 사용 중인 것 같다.

 AGP 8.5 이하를 사용하거나 NDK 27 이하 를 사용 하는 경우에는 추가해줘야하는 것들이 있는데 해당 사이트 참고하면 좋다.

https://developer.android.com/guide/practices/page-sizes?hl=ko#groovy_1

 

 

728x90
반응형