【发布时间】:2017-06-30 13:25:34
【问题描述】:
我尝试将 .so 文件包含到我的项目中,这是我的 gradle :
我在此路径 src\main\jnilibs 中为 jnilibs 创建文件夹,并将所有 .so 文件创建到该路径。
文件夹结构如下:
|--jnilibs
|--|--armeabi
|--|--|--.so Files
|--|--armeabi-v7a
|--|--|--.so Files
|--|--mips
|--|--|--.so Files
|--|--x86
|--|--|--.so Files
然后在 jniLibs.srcDirs 的 gradle 中设置代码并添加 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
我还安装了ndk,sdk,cmake,lldb 和操作系统是windwos
怎么了 ?我该如何解决这个问题?
亲切的问候。
【问题讨论】:
-
解决了吗?如果你能分享结果,我会很高兴。
标签: android android-studio gradle android-ndk .so