我正在寻找将一个INDIVIDUAL源文件链接到Android Studio项目。我正在使用支持NDK的全新Android Studio 1.3+。将各个本机源文件链接到Android Studio项目
在我模块的build.gradle文件,我可以通过链接整个源文件夹:
android{
sourceSets {
main.jni.srcDirs += 'C:/users/jforce/native'
}
}
以上块将添加在“天然”文件夹中的所有原始的源文件。
但是,我正在寻找添加单个源文件。例如。只需一个位于C:/users/jforce/native/test.c的文件,不需要在同一文件夹中添加任何相邻文件。
这里是我试过到目前为止:
main.jni.sourceFiles.getFiles() += "C:/users/jforce/native/test.c"
的Android Studio不喜欢这一个。左侧操作数带有红色下划线,当鼠标悬停时,会显示“分配给无效值”。这让我感到困惑,因为Android/Gradle文档说这个方法返回一个带有泛型参数文件的Set。 sourceSets.main.jni.srcDirs也返回一个具有泛型参数文件的Set,并且我可以合法地在该Set上使用+ =运算符,但不能在这里。
https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html#getFiles()
好了,那么我想这:
main.jni.sourceFiles.getFiles().add("C:/users/jforce/native/test.c")
这默默的失败。我的项目生成没有错误,但源文件没有添加到我的项目。
作为万福玛利亚,我又试图这样的:
main.jni.sourceFiles.join("C:/users/jforce/native/test.c")
的最后一次尝试类似的,失败默默的为好。该文件未被添加。
有谁知道如何正确地将INDIVIDUAL原生源文件链接到Android Studio 1.3+项目?任何帮助将不胜感激。谢谢!
您也可以尝试混合Android.mk +等级插件方法,如* [在ndk {} DSL中定义LOCAL_SRC_FILES](http://stackoverflow.com/a/32640823/192373)* –