Проблема с загрузкой.so библиотеки
У меня есть проект Android (Inellij IDEA). Я скачал библиотеку BASS с официального сайта и скопировал контент с lib
папка в папку моего проекта libs/
, Но когда я пытаюсь загрузить его System.loadLibrary("bass");
выдает ошибку:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip
file "/data/app/com.negi.opengltest-1/base.apk"],nativeLibraryDirectories=
[/vendor/lib, /system/lib]]] couldn't find "libbass.so"
Что я делаю неправильно? Может быть, мне нужно изменить конфигурацию Gradle?
upd: ответ здесь http://un4seen.com/forum/?topic=15633.msg110256
2 ответа
Решение
Следующее решение взято с http://www.un4seen.com/forum/?topic=15633.msg110256:
1 mkdir lib, then, copy armeabi to lib, the tree should be lib/armeeabi/libbass.so
2 zip lib directory: $zip -r libbass.zip lib
3 rename: $mv libbass.zip libbass.jar
4 copy libbass.jar to YourProject/Youproject/src/main/libs ("YourProject/Youproject/src/main/" includes AndroidManifests.xml, res, java, libs)
5 add this line:
compile fileTree(dir: 'libs', include: '*.jar')
to your build.gradle---->dependencies
В моем случае это Crashlytics, который был конфликтующим. когда я прокомментировал ниже строки в build.gradle, все идет хорошо.
// compile('com.crashlytics.sdk.android:crashlytics:2.6.7@aar') {
// transitive = true;
// }
// compile('com.crashlytics.sdk.android:crashlytics-ndk:1.1.6@aar') {
// transitive = true;
// }