我的源代码树:
app/src/main/java/com/example/A.java
app/src/main/java/com/example/B.java
我想使用productFlavor或buildType自定义一些特定的构建。 但我发现sourceSets中的exclude语句也会影响其他productFlavor / buildType。
示例 1。
productFlavors {
full {
sourceSets {
main {
java {
}
}
}
}
mini {
sourceSets {
main {
java {
exclude '**/A.java'
}
}
}
}
}
构建后,两者
app-mini-release.aar
和
app-full-release.aar
是一样的。
示例 2:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
debug {
sourceSets {
main {
java {
exclude '**/A.java'
}
}
}
}
构建后,两者
app-debug.aar
和
app-release.aar
包含A.class
答案 0 :(得分:0)
将您的A.java文件从app/src/full/java/com/example/
app/src/main/java/com/example/
之后,如果您在构建变体中选择miniDebug,它将从
中排除文件应用程序/ SRC /全/ *