React Native с Hermes: libhermes_executor.so не найден — все перепробовалAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 React Native с Hermes: libhermes_executor.so не найден — все перепробовал

Сообщение Anonymous »

Я разрабатываю приложение React Native (реагирующая версия 0.76.3) с включенным Hermes. Несмотря на всю документацию и различные решения, я столкнулся со следующей ошибкой:

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

java.lang.UnsatisfiedLinkError: dlopen failed: library "libhermes_executor.so" not found
Эта проблема возникает во время выполнения, и приложение немедленно завершает работу. Я потратил часы на отладку и пробование всех предложенных решений, но безуспешно.
Моя среда:

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

React Native version: 0.76.3
Hermes version: 0.11.0
NDK version: 25.2.9519653
Android Gradle Plugin version: 8.1.1
Hermes enabled: true (set in gradle.properties)
Device architecture: arm64-v8a
Что я пробовал
Проверенная установка Hermes:Проверено содержимое APK: Запущено:

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

unzip -l android/app/build/outputs/apk/debug/app-debug.apk | grep hermes

3680024  01-01-1981 01:01   lib/arm64-v8a/libhermes.so
894384  01-01-1981 01:01   lib/arm64-v8a/libhermestooling.so
2419020  01-01-1981 01:01   lib/armeabi-v7a/libhermes.so
533244  01-01-1981 01:01   lib/armeabi-v7a/libhermestooling.so
Однако libhermes_executor.so отсутствует.
Обновленные зависимости:
Переустановлен hermes-engine:< /p>

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

npm uninstall hermes-engine
npm install hermes-engine@0.11.0 --save
Очистил node_modules и переустановил все зависимости

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

rm -rf node_modules
npm install
Гарантированная конфигурация NDK:
Обновлена ​​ndkVersion в android/build.gradle:

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

ext {
ndkVersion = "25.2.9519653"
}
Проверенный файл local.properties содержит:

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

ndk.dir=/path/to/android/ndk
Параметры упаковки: в android/app/build.gradle добавлено следующее, чтобы обеспечить включение файлов .so:

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

packagingOptions {
pickFirst 'lib/arm64-v8a/libhermes.so'
pickFirst 'lib/arm64-v8a/libhermes_executor.so'
pickFirst 'lib/arm64-v8a/libhermestooling.so'
pickFirst 'lib/armeabi-v7a/libhermes.so'
pickFirst 'lib/armeabi-v7a/libhermes_executor.so'
pickFirst 'lib/armeabi-v7a/libhermestooling.so'
}
Текущее состояние
Несмотря на все вышеописанные действия, ошибка сохраняется, а файл libhermes_executor.so по-прежнему отсутствует в APK. Похоже, что интеграция Hermes с React Native может быть неправильно настроена или сломана для моей установки.
Вопросы
  • Как я могу убедиться, что libhermes_executor.so правильно включен в APK?
  • Существует ли надежный способ отладки Hermes и обеспечения упаковки всех необходимых файлов .so?
  • Кто-нибудь сталкивался с этой проблемой с React Native? 0.76.x и Гермес 0.11.0? Если да, то как вы решили эту проблему?


Подробнее здесь: https://stackoverflow.com/questions/792 ... everything
Ответить

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

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

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

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

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