将单个本机源文件链接到Android Studio项目

时间:2015-10-06 17:41:58

标签: android android-studio android-ndk

我想将一个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()

http://google.github.io/android-gradle-dsl/1.4/com.android.build.gradle.api.AndroidSourceDirectorySet.html

好的,所以我尝试了这个:

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+项目?任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

我想出来了。

android{
   sourceSets {
      main.jni.srcDirs += 'C:/users/jforce/native/test.c'
   }
}

作品。 ' native'中没有其他文件文件夹已添加。对于暴露的sourceFiles属性非常反直觉,但我现在已经开始工作了!