是否可以将特定的包名(applicationId)设置为构建变体?(风格+构建类型)
例如,我想将".beta“添加到一个变量的包名中,该变量可能是"flavor7Beta”,而不是其他类型的"flavor7“或其他风格的"Beta”类型。
我试过了
beta {
...
applicationVariants.all { variant ->
println "variant: ${variant.name}"
if(variant.name == "flavor7Beta") {
variant.applicationId = "com.domain.myapp.beta"
}
}
}但我有
错误:(172,0)无法在com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated@3cdafe1e.上设置只读属性'applicationId‘的值
发布于 2014-12-07 02:22:52
你应该使用反射。
android.variantFilter { variant ->
def config = variant.getDefaultConfig();
def field = config.getClass().getDeclaredField('productFlavor');
field.setAccessible(true);
field.get(config).applicationId "com.example"
}https://stackoverflow.com/questions/27109914
复制相似问题