将Android Studio 1.2.1.1
与Gradle 1.2.3
一起使用。我有一个NDK
库项目A
,它在自己的.so
文件夹中生成了许多libs
个文件。但是,我无法在build.gradle
文件中的任何位置看到对此文件夹的引用。
当我从我的应用A
引用库MyApp
时,我希望将.so
个文件复制到MyApp/src/main/jniLibs
,但它们不会。每次在A
库中进行更改时,是否必须手动复制这些文件?
如何自动执行此步骤?
答案 0 :(得分:4)
我编辑了我的内容,看起来如下,从ndk-build.cmd放置它们。
sourceSets {
main.jniLibs.srcDirs += 'libs/'
}
答案 1 :(得分:3)
我不知道是否可以将.so
个文件复制到您想要的任何内容中。
但是你可以为你做这件事。
在您的gradle文件中,添加一个任务,将那些.so
文件复制到您需要的位置。
android {
...
sourceSets.main {
jni.srcDirs = []
jniLibs.srcDir 'src/main/libs'
}
//copying files
task copyNativeLib(type: Exec, description: 'Copy native file') {
commandLine 'cp <path_of_so_files> src/main/libs'
}
//add dependencies
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn copyNativeLib
}
}
或者只是
android {
...
sourceSets.main {
jni.srcDirs = []
jniLibs.srcDir '<path_to_your_so_files>'
}
}