Две нативные библиотеки имеют различную архитектуру процессора

В моем проекте у меня была одна нативная общая библиотека для 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 "
        }
    }
}
Другие вопросы по тегам