Нет извлечения jniLibs на Android (Flutter)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Нет извлечения jniLibs на Android (Flutter)

Сообщение Anonymous »

Я использовал flutter для создания приложения для Android, которое использует jniLibs, я не использую ffi, вместо этого я напрямую вызываю .so lib с помощью Process.run из ownLibDirectory. Он отлично работает в режиме отладки, в режиме выпуска я получаю исключение процесса, что файл ****.so не найден. Когда я распаковываю выпущенный файл apk, я вижу, что все библиотеки присутствуют в папке «libs», но после установки apk я вижу, что они отсутствуют в NativeLibDirectory приложения (в режиме отладки он представлен = успешно извлечен).Насколько я знаю, причиной такого поведения является появление в Android 6 возможности хранить собственные библиотеки в несжатом виде в .apk, а также возможность загружать эти собственные библиотеки из .apk без необходимости отдельного копия файловой системы собственных библиотек.
Я уже добавлен в AndroidManifest.xml "android:extractNativeLibs="true"", но это ничего не изменило.
Я также пытался добавить в build.gradle эти параметры (и их комбинации), но они все равно не работают, как указано:

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

        ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
}

===
packagingOptions {
jniLibs {
useLegacyPackaging = true
}
}
===
sourceSets {
main {
jniLibs.srcDirs = ['libsrc/main/jniLibs']
}
}
Как заставить Android извлекать библиотеки в ownLibDirectory, а не хранить их только в base.apk? Как я уже говорил, он отлично работает в режиме отладки, а не в режиме выпуска.

Подробнее здесь: https://stackoverflow.com/questions/788 ... id-flutter
Ответить

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

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

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

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

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