Код: Выделить всё
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
Обновленные зависимости:
Переустановлен hermes-engine:< /p>
Код: Выделить всё
npm uninstall hermes-engine
npm install hermes-engine@0.11.0 --save
Код: Выделить всё
rm -rf node_modules
npm install
Обновлена ndkVersion в android/build.gradle:
Код: Выделить всё
ext {
ndkVersion = "25.2.9519653"
}
Код: Выделить всё
ndk.dir=/path/to/android/ndk
Код: Выделить всё
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
Мобильная версия