【问题标题】:How to import Eclipse project with native library(using so files) in Android studio?如何在 Android Studio 中使用本机库(使用 so 文件)导入 Eclipse 项目?
【发布时间】:2016-08-03 09:22:45
【问题描述】:

当你尝试在 Android Studio 中导入带有原生库的 Eclipse 项目(使用 so 文件),在 eclipse 导出项目后,android studio 导入它,你会看到如下结果(加载库失败):

java.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader[xxx] 找不到“yourlib.so” java.lang.Runtime.loadLibrary(Runtime.java:367) 在 java.lang.System.loadLibrary(System.java:1076)

【问题讨论】:

  • 问题是?
  • 如需添加说明。将其添加为问题,然后您可以发布您的答案
  • 新的文档(测试版)部分正好用于发布类似的解释、教程和示例。

标签: android android-studio .so


【解决方案1】:
  1. 导出你的eclipse文件

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

    • 在android studio中->右键->新建->文件夹->JNI文件夹
    • 或者去finder(或者文件管理器)处理文件夹的事情

在eclipse中我们通常把这些东西放在一个libs文件夹中,但是你有 现在自己创建 jniLibs

  1. 把你的so文件放到JNI文件夹中
  2. 设置你的 Build gradle

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

希望有帮助,谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 2017-06-07
    相关资源
    最近更新 更多