如何在Android studio中使用本机库(使用so文件)导入Eclipse项目?

时间:2016-08-03 09:22:46

标签: android android-studio .so

当您尝试在Android工作室中使用本机库(使用so文件)导入Eclipse项目时,在eclipse导出项目和android studio导入之后,您将看到结果(加载库失败),如下所示:

  

java.lang.UnsatisfiedLinkError中:   com.android.tools.fd.runtime.IncrementalClassLoader $ DelegateClassLoader [XXX]   无法找到" yourlib.so"   java.lang.Runtime.loadLibrary(Runtime.java:367)at   java.lang.System.loadLibrary(System.java:1076)

1 个答案:

答案 0 :(得分:0)

  1. 导出您的eclipse文件

    • in eclipse->右键单击 - >导出 - >生成Gradle构建文件 - >接下来完成
  2. 像这样的src / main / jni /创建JNI文件夹, 这里有两种方法可以做到这一点

    • 在android studio中 - >右键单击 - >新的 - >文件夹 - > JNI文件夹
    • 或前往finder(或文件管理器)处理文件夹事件
  3.   在eclipse中我们通常将这些东西放在libs文件夹中,但是你有   现在自己创建jniLibs

    1. 将您的so文件放到JNI文件夹
    2. 设置Build gradle

      sourceSets {
          main {
              jni.srcDirs = []
              jniLibs {
                  srcDir 'src/main/jni'
                  srcDir 'src/main/libutility'
              }
          }
      }
      
    3. 完成

    4. 希望这个帮助,thx