关于Android调用JNI出现的 java.lang.UnsatisfiedLinkError

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/qq_16445551/article/details/53088531

关于Android调用JNI出现的 java.lang.UnsatisfiedLinkError

java.lang.UnsatisfiedLinkErrorcom.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader......

导致整个问题的原因有很多,这里是找不到SO包。当时使用骁龙820手机调试的,arm64架构的确没有对应的so包,但是我们知道arm64和x86找不到对应的动态链接库的时候,是兼容armeabi-v7中是so包的,除非arm64_v8a包中也有so包,但是不全,可能导致这种问题。但是arm64-v8a中是没有so包的,怀疑是编译打包的时候创建了so包。下一步换了骁龙615的手机调试,发现一切正常。这时候基本上确认问题 了。拿打包好的apk解压,发现果然在编译的时候创建了部分,arm64的so包。然后在gradle中添加abiFilter就好了,只要armeabi就行了,现在市面上绝大多数app为了节省空间,都是只编译armeabi包。

defaultConfig {
        .......
        ndk {
            abiFilters "armeabi-v7a"
        }
    }
展开阅读全文

没有更多推荐了,返回首页