以 build 变体为目标

如果您有基于不同 build 变体的不同版本的应用,请为每个变体创建自定义 keep 规则。例如,如果您的应用有免费层级和付费层级,并且这两个层级具有不同的功能和依赖项,那么每个层级都应有自己的保留规则。

创建保留规则

如需创建特定于 build 变体的 keep 规则,请在 productFlavors 下的相应 flavor 代码块中添加 proguardFiles 属性。例如,以下 build 脚本会将规则文件 flavor2‑rules.pro 添加到 flavor2 产品变种中:

Kotlin

android {
...
buildTypes {
    getByName("release") {
        isMinifyEnabled = true
        isShrinkResources = true
        proguardFiles(
            getDefaultProguardFile("proguard-android-optimize.txt"),
            "proguard-rules.pro"
        )
    }
}
flavorDimensions.add("version")
    productFlavors {
        create("flavor1") {
            ...
        }
        create("flavor2") {
            proguardFile("flavor2-rules.pro")
        }
    }
}

Groovy

android {
    ...
    buildTypes {
        release {
            minifyEnabled = true
            shrinkResources = true
            proguardFiles
                getDefaultProguardFile('proguard-android-optimize.txt'),
                'proguard-rules.pro'
        }
    }
    flavorDimensions "version"
    productFlavors {
        flavor1 {
            ...
        }
        flavor2 {
            proguardFile 'flavor2-rules.pro'
        }
    }
}

其他资源