如何使用 Android Studio Experimental Grade 插件配置多个 java 源目录?
How to configure multiple java source directories using Android Studio Experimental Grade plugin?
使用带有 Experimental Grade 插件 0.7.2 的 Android Studio 2.1.1,我正在尝试向模块添加另一个 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 项目结构UI 中的app/java
目录仅显示src/java
中的内容,不包含../../JavaBindings/java
.
中的内容
但是对于 app/jni
目录,它有效:src/jni
和 ../../JavaBindings/jni
中的内容都会显示。
看了 source code 的 Gradle 实验插件后,我终于明白了:
java.source.srcDirs
和 jni.source.srcDirs
的行为不同:对于 JNI 情况,即使您定义了 jni.source.srcDirs
设置,默认情况下始终包含 src/main/jni
,但 Java 的情况并非如此。
所以正确的语法变成:
android.sources {
main {
java.source {
srcDirs += "src/main/java"
srcDirs += "../../JavaBindings/java"
}
jni.source {
srcDirs += "../../JavaBindings/jni"
}
}
}
使用带有 Experimental Grade 插件 0.7.2 的 Android Studio 2.1.1,我正在尝试向模块添加另一个 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 项目结构UI 中的app/java
目录仅显示src/java
中的内容,不包含../../JavaBindings/java
.
但是对于 app/jni
目录,它有效:src/jni
和 ../../JavaBindings/jni
中的内容都会显示。
看了 source code 的 Gradle 实验插件后,我终于明白了:
java.source.srcDirs
和 jni.source.srcDirs
的行为不同:对于 JNI 情况,即使您定义了 jni.source.srcDirs
设置,默认情况下始终包含 src/main/jni
,但 Java 的情况并非如此。
所以正确的语法变成:
android.sources {
main {
java.source {
srcDirs += "src/main/java"
srcDirs += "../../JavaBindings/java"
}
jni.source {
srcDirs += "../../JavaBindings/jni"
}
}
}