Android multidex,UnsatisfiedLinkError - 找不到.so文件

Nim*_*hov 8 java-native-interface android android-studio android-gradle-plugin

我正在尝试在android studio中为我的multidex项目添加一些lib(.jar和.so).

当我只为项目添加几个罐子时一切正常.如果我添加越来越多的罐子(其他库)我收到此错误:

java.lang.UnsatisfiedLinkError:
  dalvik.system.PathClassLoader[DexPathList[[zip file
  "/data/app/com.test.digital.ocrtest-2/base.apk"],nativeLibraryDirectories=[/data/app/com.test.digital.ocrtest-2/lib/arm,
  /data/app/com.test.digital.ocrtest-2/base.apk!/lib/armeabi-v7a,
  /vendor/lib, /system/lib]]] couldn't find
  "libScanovatePassportAndIDLSDK_CPP.so"
Run Code Online (Sandbox Code Playgroud)

任何想法我怎么能告诉编译器生成jar,所以在同一个dex?

Ale*_*ohn 6

如果一些额外的JAR为armeabi-v7a带来本机库,而libScanovatePassportAndIDLSDK_CPP.so仅为armeabi构建,则安装程序将提取一组错误的库.修复不是添加更多的.so副本,而是剥离其他ABI.在gradle中,您可以使用拆分.

  • 谢谢你!我已经用尽了所有基本的UnsatisfiedLinkError问题; 终于找到了这个. (2认同)