Две нативные библиотеки имеют различную архитектуру процессора
В моем проекте у меня была одна нативная общая библиотека для armeabi, mips, x86
и он работал нормально на всех устройствах (например, lib1.so). Теперь я добавил другую нативную библиотеку, и в ней есть набор библиотек для всех архитектур (armeabi, armeabi-v7a, arm64-v8a, mips, x86, x86_64
). Например, lib2.so.
И это дает мне java.lang.UnsatisfiedLinkError
на некоторых устройствах. Например, он пытается загрузить из armeabi-v7a
но нет lib1.so для этой архитектуры процессора.
Как я могу заставить его загружаться по-разному для разных библиотек? Или, может быть, я могу скопировать первый файл lib1.so для разных архитектур. Но какую папку я должен скопировать в другие папки?
1 ответ
Решение
Вам нужно только добавить следующее в файл gradle приложения
android {
defaultConfig {
ndk {
abiFilters "armeabi" , "mips", "x86 "
}
}
}