如何覆盖特定构建变体的 applicationIdSuffix?

Chr*_*ris 5 groovy android gradle

我的 app.gradle 中有以下内容:

flavorDimensions 'app', 'type'
productFlavors {
    AppA {
        dimension 'app'
        applicationIdSuffix '.appa'
    }
    AppB {
        dimension 'app'
        applicationIdSuffix '.appb'
    }
    TypeA {
        dimension 'type'
        applicationIdSuffix '.typea'
    }
    TypeB {
        dimension 'type'
        applicationIdSuffix '.typeb'
    }
}

android.applicationVariants.all { variant ->
    println("Flavor name: " + variant.flavorName.toLowerCase())
    if (variant.flavorName.toLowerCase() == "appatypea") {
        println("Detected legacy app.")
        //variant.productFlavors[0].applicationIdSuffix = ""
        variant.mergedFlavor.setApplicationId("com.example.special")
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试构建一个具有 AppA 和 TypeA 风格的应用程序,它仍然会附加 applicationIdPrefixes。所以我得到了 applicationId com.example.special.appa.typea

在这种情况下,如何让 Gradle 忽略 applicationIdSuffix?