android studio无法检测到我的lib

时间:2017-02-12 15:04:11

标签: android android-studio gradle android-ndk .so

我尝试将.so文件包含到我的项目中,这是我的gradle:
我在此路径jnilibs中为src\main\jnilibs创建了文件夹,并为该路径创建了所有.so个文件。
文件夹结构如下:

|--jnilibs
|--|--armeabi
|--|--|--.so Files
|--|--armeabi-v7a
|--|--|--.so Files
|--|--mips
|--|--|--.so Files
|--|--x86
|--|--|--.so Files

然后在jniLibs.srcDirs的gradle set代码中添加compile fileTree,我的gradle看起来像这样:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    //....other code
    sourceSets {
        main {
            jniLibs.srcDirs = ["src/main/jniLibs", "$buildDir/native-libs"]
        }
    }

}
task nativeLibsToJar(type: Jar, description: 'create a jar archive of the native libs') {
    destinationDir file("$buildDir/native-libs")
    baseName 'native-libs'
    from fileTree(dir: 'src/main/jnilibs', include: '**/*.so')
    into 'lib/'
}

tasks.withType(JavaCompile)
        {
            compileTask -> compileTask.dependsOn(nativeLibsToJar)
        }

dependencies {
    compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
    compile fileTree(include: ['*.jar','.so'], dir: 'libs')
    compile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
}

然后重建,现在我在此路径中看到native-libs.jar文件:app\build\native-libs
所以现在我想用这段代码将lib导入我的项目

import org.infradead.libopenconnect.LibOpenConnect;

这就是我现在得到的这个错误

cannot resolve symbol org.infradead

我还安装了ndksdkcmakelldb,操作系统是windwos
怎么了 ?我该怎么办呢? 亲切的问候。

1 个答案:

答案 0 :(得分:0)

  1. 尝试使用File - > New - > Import module并加载所需的文件。
  2. 接下来转到File - > Project Structure - > app - > Dependencies标签,然后添加您在最近一步中添加的库。
  3. 最重要的一步是,您需要将所有库从build文件夹移至app - > src - > main - > libs文件夹。这对我有用。如果您没有libs,请在main下创建background-size: cover; 文件夹。