这个错误是由于在Android Studio Canary 3.4 Canary 4版本中,feature插件不再支持使用variant.getApplicationId()方法。解决这个问题的方法是使用variant.applicationId来替代variant.getApplicationId()。
以下是一个示例代码,展示如何解决这个问题:
android {
// ...
// 定义一个变量,用来存储applicationId
def myApplicationId = ""
// 在feature插件的变体配置中,使用variant.applicationId来获取applicationId
applicationVariants.all { variant ->
variant.productFlavors.all { flavor ->
if (variant.buildType.isDebuggable()) {
myApplicationId = flavor.applicationId + "." + variant.buildType.name
} else {
myApplicationId = flavor.applicationId
}
}
}
// 使用变量myApplicationId来设置applicationId
defaultConfig {
applicationId myApplicationId
// ...
}
// ...
}
通过使用variant.applicationId来替代variant.getApplicationId(),可以解决这个错误,并成功编译项目。