繁体   English   中英

如何在 android gradle 中排除特定的 class?

[英]How to exclude specific class in android gradle?

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

在 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)而不会出错。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM