我试图将 .so 文件包含到我的项目中,这是我的 gradle 文件:
我在路径 src\main\jnilibs
中创建了一个 jnilibs
文件夹,并将所有的 .so
文件放入其中。
文件夹结构如下:
|--jnilibs
|--|--armeabi
|--|--|--.so Files
|--|--armeabi-v7a
|--|--|--.so Files
|--|--mips
|--|--|--.so Files
|--|--x86
|--|--|--.so Files
然后在gradle中设置jniLibs.srcDirs
的代码,并添加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
因此,现在我想使用以下代码将库导入我的项目
import org.infradead.libopenconnect.LibOpenConnect;
这是全部内容,但我现在遇到了这个错误。
cannot resolve symbol org.infradead
我安装了ndk
、sdk
、cmake
、lldb
,并且使用的操作系统是windows
。
请问有什么问题?如何解决呢?
谢谢。