我使用以下代码为不同的变体定义了清单占位符。
android.applicationVariants.all { variant ->
// def names = variant.getVariantData().getVariantConfiguration().getFlavorName()
def mergedFlv = variant.getVariantData().getVariantConfiguration().getMergedFlavor()
mergedFlv.manifestPlaceholders = [pl1: mergedFlv.getApplicationId() + mergedFlv.getApplicationIdSuffix()]
字符串
它运行良好.但我更新到最新版本的Android Studio一个星期前,也更新了gradle版本为这个项目时,Android Studio提示和Android Studio抛出以下错误.
No signature of method: com.android.build.gradle.internal.variant.ApplicationVariantData.getVariantConfiguration() is applicable for argument types: () values: []
型
我该如何解决此问题?
更新
我在https://android.googlesource.com/platform/tools/build/+/0d498ccf6f91a12c036b382b7ae2b1a809eb2b9d/gradle/src/main/groovy/com/android/build/gradle/internal/variant/ApplicationVariantData.java找到了这个类
它没有getVariantConfiguration()
方法,但它扩展了ApkVariantData
类,而ApkVariantData
类又扩展了BaseVariantData
。BaseVariantData
有这个公共方法getVariantConfiguration()
因此,它应该是可访问的。我关闭并重新打开项目以及android studio,并尝试再次构建项目太.似乎不工作。
请帮忙
2条答案
按热度按时间kmb7vmvb1#
截至目前,我将我的Android Gradle插件版本从
4.0.0
降级为3.6.3
,Gradle版本从6.5.1
降级为5.6.4
,遵循this答案(降级方法),它工作了。Gradle似乎有问题/bug。
biswetbf2#
我认为这可能不再起作用。请参阅Android 4.0已知问题-变体输出
请尝试以下操作:
字符串
对我很有效。