dlopen failed: library "libreact_featureflagsjni.so" not found
[/b] после миграции на страницу размером 16 КБ с помощью React Native 0.77.0
Контекст
Я обновляю свое приложение React Native с версии 0.72.8 до 0.77.0 и пытаюсь сделать нативный
[/b] библиотеки, совместимые с размером страницы Android 16 КБ. Сборка прошла успешно, но приложение сразу же аварийно завершает работу при запуске со следующей ошибкой:
Процесс: com.example.app, PID: 8267 java.lang.UnsatisfiedLinkError: ошибка dlopen: библиотека "libreact_featureflagsjni.so" не найдена
Среда
Проблема: приложение Android аварийно завершает работу при запуске с помощью [b][code]dlopen failed: library "libreact_featureflagsjni.so" not found[/code][/b] после миграции на страницу размером 16 КБ с помощью React Native 0.77.0 Контекст Я обновляю свое приложение React Native с версии [b]0.72.8[/b] до [b]0.77.0[/b] и пытаюсь сделать нативный [b][code].so[/code][/b] библиотеки, совместимые с размером страницы Android 16 КБ. Сборка прошла успешно, но приложение сразу же аварийно завершает работу при запуске со следующей ошибкой: Процесс: com.example.app, PID: 8267 java.lang.UnsatisfiedLinkError: ошибка dlopen: библиотека "libreact_featureflagsjni.so" не найдена Среда [list] [*]Версия React Native: [b][code]0.77.0[/code][/b]
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript { //* Upgraded targetSdkVersion and compileSdkVersion to android 14(level 34) ext { buildToolsVersion = "35.0.0" minSdkVersion = 24 compileSdkVersion = 35 targetSdkVersion = 35 ndkVersion = "28.2.13676358" kotlinVersion = "2.0.21" androidToolsVersion = "8.3.2" } repositories { google() mavenCentral() } dependencies { classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21' classpath 'com.google.gms:google-services:4.4.2' classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.2' classpath 'com.android.tools.build:gradle:8.5.2' } } // TEMP wiring – remove once the duplicate module is gone gradle.projectsEvaluated { def A = rootProject.findProject(':react-native-firebase_messaging') def B = rootProject.findProject(':@react-native-firebase_messaging') if (A && B) { [[A,B],[B,A]].each { pair -> def consumer = pair[0]; def producer = pair[1]
// parse...LocalResources should wait for the other project's package...Resources consumer.tasks.matching { it.name ==~ /parse.*(Release|Debug).*LocalResources/ }.configureEach { dependsOn producer.tasks.matching { it.name ==~ /package.*Resources/ } } // merge/extractDeepLinks should wait for the other project's generate...ResValues consumer.tasks.matching { it.name ==~ /(merge|extractDeepLinks).*(Release|Debug)/ }.configureEach { dependsOn producer.tasks.matching { it.name ==~ /generate.*ResValues/ } } } } }
// Fallback: ensure all Android subprojects have compileSdkVersion/ndkVersion if their // build.gradle doesn't set it explicitly (some third-party libs rely on the RN plugin). subprojects { subproject -> afterEvaluate { p -> if (p.hasProperty('android')) { try { p.android.compileSdkVersion = rootProject.ext.compileSdkVersion if (p.android.hasProperty('ndkVersion')) { p.android.ndkVersion = rootProject.ext.ndkVersion } } catch (Throwable ignored) { } } } } [/code]
Что я пробовал [list] [*]Установить [b][code]newArchEnabled=false[/code][/b] из-за сбоя сборки, вызванного [b][code]apply plugin: "com.facebook.react"[/code][/b] внутри [b][code]@onfido/react-native-sdk/android/build.gradle[/code][/b].
[*]React Native обновлен до версии 0.77.0 и соответствующим образом выровнены библиотеки.
[*]Включено [b][code]prefab true[/code][/b] в [b][code]buildFeatures[/code][/b].
[*]Примененная упаковка. Варианты выбора и исключения.
[*]Проверенная нативная версия [b][code].so[/code][/b] библиотеки, созданные для размера страницы 16 КБ.
[*]Проверенные версии Gradle и NDK.
[*]Разделение ABI включено с переопределением кода версии.
[/list] Проблема [list] [*]Сборка проходит, но приложение вылетает при запуске с отсутствующим [b][code]libreact_featureflagsjni.so[/code][/b].
[*]Нативные библиотеки по-прежнему кажутся несовместимыми со страницами размером 16 КБ на Android 14 и более поздних версиях.
[*]Невозможно загрузить нативные библиотеки React Native, что приводит к сбою.