Ошибка загрузки в Google Play: «Приложение должно поддерживать размеры страниц памяти 16 КБ» — LiteRT 1.4.0 поставляетсяAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Ошибка загрузки в Google Play: «Приложение должно поддерживать размеры страниц памяти 16 КБ» — LiteRT 1.4.0 поставляется

Сообщение Anonymous »

Я создаю приложение для Android, которое использует Google AI Edge LiteRT (TensorFlow Lite) для вывода на устройстве.

При загрузке .aab в Google Play я получаю следующую ошибку:

Код: Выделить всё

App must support 16 KB memory page sizes.
The following native libraries do not meet this requirement:
base/lib/arm64-v8a/libimage_processing_util_jni.so
Для отладки я извлек .aab и проверил выравнивание ELF с помощью llvm-readelf NDK:

Код: Выделить всё

== libimage_processing_util_jni.so ==
LOAD ... Align 0x1000   < 4 KB
== libtensorflowlite_jni.so ==
LOAD ... Align 0x4000   < 16 KB
== libtensorflowlite_gpu_jni.so ==
LOAD ... Align 0x4000   < 16 KB
То есть только libimage_processing_util_jni.so (поставляется внутри

Код: Выделить всё

com.google.ai.edge.litert:litert-support:1.4.0
) создан для страниц размером 4 КБ,

в то время как другие используют 16 КБ.

Чего я ожидал
Что все файлы LiteRT .so будут созданы для выравнивания ELF по 16 КБ,

для соответствия требованиям Android 15 и новая бинарная политика Google Play.

Что я пробовал
  • Проверено с помощью нескольких версий NDK (r28, r29) → тот же результат.
  • Проверено более старых версий LiteRT (1.3.x) → те же 4 КБ выравнивание.
  • Подтверждено, что этот файл транзитивно извлекается из артефакта поддержки LiteRT.
Зависимость Gradle:

Код: Выделить всё

implementation("com.google.ai.edge.litert:litert-support:1.4.0")
Окружающая среда

Код: Выделить всё

Android Studio Koala | AGP 8.8.2 | Gradle 8.11.1
NDK 29.0.13113456 (side-by-side)
SDK: C:\Users\\AppData\Local\Android\Sdk
Target ABI: arm64-v8a
Build: bundleRelease → AAB upload to Play Console
Ожидаемое исправление
Поддержка LiteRT .so должна быть создана с помощью

Код: Выделить всё

-z max-page-size=16384
чтобы в столбце выравнивания ELF было указано Align 0x4000 для всех общих библиотек.


Подробнее здесь: https://stackoverflow.com/questions/797 ... s-litert-1
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»