如何管理.SO文件android studio?

时间:2018-02-21 15:57:17

标签: java android opencv

每当我尝试运行我的应用时,它总会出现此错误。

  

处理:com.example.jude.prototype,PID:18048                                                                               java.lang.UnsatisfiedLinkError中:   dalvik.system.PathClassLoader [DexPathList [[zip文件   “/system/framework/com.google.android.maps.jar”,]无法找到   “libopencv_java.so”

但我已经在jniLibs下导入了“libopencv_java.so”。

我该怎么办?

Problem

2 个答案:

答案 0 :(得分:0)

根据错误,找不到lib libopencv_java.so ...换句话说,它没有添加到您的APK文件中。

  1. 检查名为libopencv_java.so的文件是否已添加到jniLibs文件夹

  2. 检查您的构建gradle是否包含.so文件

    implementation fileTree(include: ['*.so'], dir: 'jniLibs')
    
  3. 在Build->分析APK中,打开您的APK并检查libopencv_java.so文件夹下是否可以找到lib

  4. 如果您可以在APK中找到lib libopencv_java.so,则表示您的项目未正确编译(或文件结构错误)。这样,您必须共享build.gradle文件。

答案 1 :(得分:0)

我已经解决了这个问题。但是它会带来一个新的错误

  

java.lang.UnsatisfiedLinkError:dlopen failed:library   " ../../ LIB / libtbb.so"找不到

库已在apk上,但它无法识别。为什么呢?