Как обновить локальную общую библиотеку для совместимости с устройствами Android 15 16 КБ?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как обновить локальную общую библиотеку для совместимости с устройствами Android 15 16 КБ?

Сообщение Anonymous »

В нашем приложении мы используем библиотеку Ananas. Следуя официальной документации по тестированию демо-версии Ananas в эмуляторе Android 15 с системным образом размером 16 КБ, мы обнаружили, что приложение зависает (без сбоев) при применении фильтра для редактирования изображения, приложение зависает при загрузке и появляется Logcat. показывает следующую строку:

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

2025-01-14 19:27:52.368 16574-18462 nativeloader            io....amutkarshtiwari.ananasproject  D  Load /data/app/~~K2DsRcC_nLSnacu1r-e0kA==/io.github.iamutkarshtiwari.ananasproject-Sla3ZLIGIN1Ma-aDhtc6TA==/lib/x86_64/libphotoprocessing.so using ns clns-7 from class loader (caller=/data/app/~~K2DsRcC_nLSnacu1r-e0kA==/io.github.iamutkarshtiwari.ananasproject-Sla3ZLIGIN1Ma-aDhtc6TA==/base.apk!classes2.dex): dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/~~K2DsRcC_nLSnacu1r-e0kA==/io.github.iamutkarshtiwari.ananasproject-Sla3ZLIGIN1Ma-aDhtc6TA==/lib/x86_64/libphotoprocessing.so" (new hash type from the future?)
Тестирование с помощью эмулятора Pixel 8a API 35 с изображением system-images/android-35/google_apis_playstore_ps16k/x86_64/. Если мы протестируем эмулятор Pixel 7 API 35 system-images/android-35/google_apis_playstore/x86_64/, он работает отлично, очевидно, проблема связана с совместимостью 16 КБ.
Мы есть:
  • Обновлены targetSdkVersion и compileSdk до версии 34, обновлен AGP до 8.6.0 и устранены ошибки компиляции.
  • Добавлен ndkVersion = "27.2.12479018" в Gradle.
  • Свяжите NDK с Gradle с

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

externalNativeBuild {
ndkBuild {
path file('jni/Android.mk')
}
}
  • Пересоберите библиотеку libphotoprocessing.so, используя следующие команды (и обновив собственный код для устранения ошибок компиляции):

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

~/Library/Android/sdk/ndk/27.2.12479018/ndk-build -C /MY_PROJECT_PATH/Ananas/ananas clean
~/Library/Android/sdk/ndk/27.2.12479018/ndk-build -C /MY_PROJECT_PATH/Ananas/ananas
[*]Добавлено APP_SUPPORT_FLEXIBLE_PAGE_SIZES := true в Application.mk согласно документации.

Но это всё равно не работает. Запуск сценария check_elf_alignment.sh из документации APK проекта показывает, что библиотека по-прежнему «Невыровнена».

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

-e /var/folders/22/7bl_jpq137l883cghrfhxzt80000gn/T/app-debug_out_XXXXX.DA2PVl6sGv/lib/x86_64/libphotoprocessing.so: \e[31mUNALIGNED\e[0m (2**12)
Будем благодарны за любую помощь! Я понимаю, что библиотека заархивирована, поэтому единственный вариант — решить эту проблему для будущей совместимости или найти другую библиотеку...

Подробнее здесь: https://stackoverflow.com/questions/793 ... -16kb-devi
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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