Android Studio 对于第三方so库文件引用这方面也没有个官方正解,很蛋疼,这里说明两种处理方法。
一.对于一般API上的说明例如百度地图、高德地图,只要在main文件夹下创建jinLibs文件夹,然后把so库文件扔进去他就自动识别了,我的一个项目确实是那个干的。
二.如果以上方法还是会报java.lang.UnsatisfiedLinkError: Couldn't load mupdf from loader dalvik.system.PathClassLoader的话,那么可以试试以下方法:
将文件copy到libs文件夹下
然后在app的build.gradle下添加以下代码
android { //本地lib变jar task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") { destinationDir file("$projectDir/libs") baseName "Native_Libs2" extension "jar" from fileTree(dir: "libs", include: "**/*.so") into "lib" } //导入jar tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn(nativeLibsToJar) }这个是把本地so库文件夹打成jar包,然后再添加到依赖库
如此操作便可行了。