我想将一个INDIVIDUAL源文件链接到一个Android Studio项目。我正在使用支持NDK的新Android Studio 1.3+。
在我的模块的build.gradle文件中,我可以通过以下方式链接整个源文件夹:
android{
sourceSets {
main.jni.srcDirs += 'C:/users/jforce/native'
}
}
以上块将在“native”文件夹中添加所有本机源文件。
但是,我正在寻找添加单个源文件。例如。只是一个位于C:/users/jforce/native/test.c的文件,不会在同一个文件夹中添加任何相邻文件。
这是我到目前为止所尝试的内容:
main.jni.sourceFiles.getFiles() += "C:/users/jforce/native/test.c"
Android Studio不喜欢这个。左操作数用红色下划线,当我鼠标悬停时显示“要分配给的无效值”。这让我很困惑,因为Android / Gradle文档说这个方法返回一个带有通用param文件的Set。 sourceSets.main.jni.srcDirs还返回一个带有通用param文件的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+项目?任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
我想出来了。
android{
sourceSets {
main.jni.srcDirs += 'C:/users/jforce/native/test.c'
}
}
作品。 ' native'中没有其他文件文件夹已添加。对于暴露的sourceFiles属性非常反直觉,但我现在已经开始工作了!