Я делаю приложение в Android Studio, которое использует две библиотеки. Собственная библиотека с оберткой для Android и jar-library. По какой-то причине родная библиотека не загружается, если другая библиотека jar скомпилирована в проект. Поэтому, если я запускаю приложение только с родной библиотекой, все работает нормально. Добавить другую банку-библиотека для моего Gradle-файла и бум ... в UnsatisfiedLinkError:Студия Android: UnsatisfiedLinkError: findLibrary возвращается null - загрузка родной библиотеки
java.lang.UnsatisfiedLinkError: Couldn't load MobileOcrEngine from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.app-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.app-1, /vendor/lib, /system/lib]]]: findLibrary returned null
Мое приложение работает нормально, когда я использую это:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'src/main/jniLibs')
compile 'com.android.support:support-v13:21.0.2'
compile project(':wheel')
}
Ошибка возникает при попытке:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'src/main/jniLibs')
compile 'com.android.support:support-v13:21.0.2'
compile project(':wheel')
compile files('libs/realm-0.78.0.jar')
}
или когда я пытаюсь использовать ту же библиотеку, но с помощью репозитория Maven:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'src/main/jniLibs')
compile 'com.android.support:support-v13:21.0.2'
compile project(':wheel')
compile 'io.realm:realm-android:0.78.0'
}
или если я пытаюсь поставить банку в папку jniLibs:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'src/main/jniLibs')
compile 'com.android.support:support-v13:21.0.2'
compile project(':wheel')
}
Я понятия не имею, где корень проблемы лежит. С одной из двух библиотек, Android Studio или я делаю что-то неправильно?
Примечание: Я знаю, что было много вопросов по StackOverflow относительно UnsatisfiedLinkErrors, но ни один из них не обеспечивают решения моей проблемы. У меня нет проблем с загрузкой родной библиотеки, если это единственная библиотека, которую я использую ...
Не мог бы вы объяснить, как сделать ваше решение –
В каталоге jniLibs, есть подкаталог для обоих armeabi и armeabi-v7a. Скопируйте свою библиотеку так, чтобы она отображалась в обеих архивах (armeabi и armeabi-v7a). – Skywalker10
Отличный ..! Работал для меня .. Большое спасибо .. –