公司项目的OCR 文档识别的sdk 仅仅提供了armeabi 的so库,然而项目主moudle里的libs里边还有arm64-v8a包,这就造成了64位的手机一调用这个库就会崩溃报:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/xxx.xxxxx.xxx/base.apk"],nativeLibraryDirectories=[/data/app/xxx.xxxxx.xxx/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "AndroidAndIdCard.so";
首先先跟sdk提供商沟通看看他们是否能够提供64位的so库,如果实在不行的话,只能在项目的gradle文件下 的defaultConfig{}里添加如下代码:
ndk{
abiFilters "armeabi ","armeabi-v7a"
}
这样项目就只会去armeabi 或者armeabi-v7a下去寻找对应的so库。