2015-10-06 44 views
0

我正在寻找将一个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()

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

+0

您也可以尝试混合Android.mk +等级插件方法,如* [在ndk {} DSL中定义LOCAL_SRC_FILES](http://stackoverflow.com/a/32640823/192373)* –

回答

1

我想通了。

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

工程。 “原生”文件夹中没有其他文件被添加。与sourceFiles属性公开非常直观,但我现在已经开始工作了!

+0

您如何链接将文件放入应用程序中。你是否将源代码集添加为库模块的一部分,或者如何在应用程序中实现源文件? – miqueloi

相关问题