0

仅需要在发布版本变体上排除特定类。您能否请任何人提供一些指示?

4

1 回答 1

1

在 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
}

/release/风味中:

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

然后您可以在构建发布时使用/扩展/实例化 ClassA(将根据当前的活动风格选择正确的 ClassA)而不会出错。

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

于 2022-01-19T13:40:36.497 回答