簡體   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