将Android Studio 2.1.1与实验级插件0.7.2一起使用,我正在尝试将另一个Java源代码目录添加到模块中。以下是模块Gradle设置的相关部分:
android.sources {
main {
java.source {
//srcDir "src/java"
//srcDir "../../JavaBindings/java"
//srcDirs += "src"
srcDirs += "../../JavaBindings/java" <--- DOES NOT WORK
}
jni.source {
srcDirs += "../../JavaBindings/jni" <--- THIS WORKS
}
}
}
在浏览Google和Stack Overflow之后,我尝试了许多不同的语法,但没有运气。 Android Studio项目结构用户界面中的app/java
目录仅显示src/java
中的内容,但不包含../../JavaBindings/java
中的内容。
但对于app/jni
目录,它可以正常运行:src/jni
和../../JavaBindings/jni
中的内容都显示出来。
答案 0 :(得分:1)
在查看Gradle Experimental插件的source code之后,我最终弄明白了:
java.source.srcDirs
和jni.source.srcDirs
的行为不一样:对于JNI案例,即使您定义了jni.source.srcDirs
设置,默认情况下始终会包含src/main/jni
,但是#39;不是Java案例的情况。
所以正确的语法变为:
android.sources {
main {
java.source {
srcDirs += "src/main/java"
srcDirs += "../../JavaBindings/java"
}
jni.source {
srcDirs += "../../JavaBindings/jni"
}
}
}