如何排除android gradle中的特定类



需要仅在发布版本构建变体中排除特定类。你能请谁给我点建议吗?

在build.gradle文件中使用:

android {
compileSdkVersion 31

defaultConfig {
...
}
buildTypes {
...
}

sourceSets {
main {     //<-- flavour name (usual values are: "main", "release", debug")
java {
exclude '**/*_old.java'
exclude '**/*_new.java'
exclude '**/*_backup.java'
}
}
}
}

编辑:

/main/风味中:

class ClassBase {

}

/debug/风格中:

class ClassA extends ClassBase {
private ClassC mIncriminatedReference;  //<-- ClassC is the incriminated Class you won't
}

/释放/风味中:

class ClassA extends ClassBase {
/*no reference to ClassC here*/
}

然后,在为Release构建时,您可以使用/extend/instante ClassA(将根据当前的活动风格选择正确的ClassA(而不会出现错误。

(我知道这很棘手,但这是在构建时不使用自定义预处理器作为"插件"的唯一方法(

最新更新