Build Flavors 通常通过 android gradle 插件在 Android 应用程序中使用。这允许项目具有目录结构
src
- main
- com.stack.A.java
- debug
- com.stack.B.java
- release
- com.stack.B.java
Run Code Online (Sandbox Code Playgroud)
这只会B.java
根据已选择的发布类型编译正确的。
有没有办法在不使用android gradle插件而只使用java插件的情况下镜像这个功能?
小智 5
它在 Java 插件中称为 sourceSet,参见https://docs.gradle.org/current/userguide/java_plugin.html
main
和test
sourceSets 是自动创建的,要添加更多 sourceSets,您可以执行以下操作。基本上发布和调试都使用 main 中的代码
apply plugin: 'java'
sourceSets {
release {
java {
srcDirs 'src/main/java', 'src/release/java'
}
}
debug {
java {
srcDirs 'src/main/java', 'src/debug/java'
}
}
}
Run Code Online (Sandbox Code Playgroud)
我写了一个插件来实现这一点。例如
apply plugin: 'com.lazan.javaflavours'
javaFlavours {
flavours = ['free', 'paid']
}
Run Code Online (Sandbox Code Playgroud)
然后,在源src/free/java
和src/paid/java
在资源src/free/resources
和src/paid/resources
github项目:https : //github.com/uklance/gradle-java-flavours
归档时间: |
|
查看次数: |
1486 次 |
最近记录: |