2015-10-06 48 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

相關問題