我刚刚将 gradle 从 6 更新到 7,将 AGP 从 4 更新到 7。我的 gradle 设置的一部分停止了编译。
applicationVariants.all { variant ->
if (variant.getName().contains("prodSe")) {
variant.mergedFlavor.signingConfig = signingConfigs.prodSeSigningConfig
}
}
这现在导致:Cannot resolve which method to invoke for [class com.android.build.gradle.internal.dsl.SigningConfig_Decorated] due to overlapping prototypes between: [interface com.android.builder.model.SigningConfig] [interface com.android.build.api.dsl.ApkSigningConfig]
感觉像
variant.mergedFlavor
现在返回一个继承自 SigningConfig
的类型& ApkSigningConfig
有相同的方法。不知道如何解决这个问题。
最佳答案
我遇到了同样的问题,我最终设置了 signingConfigs
在 variantFilter
内 block https://developer.android.com/studio/build/build-variants#filter-variants
所以在你的情况下,它会是这样的:
variantFilter { variant ->
if (variant.getName().contains("prodSe")) {
android.defaultConfig.signingConfig signingConfigs.prodSeSigningConfig
}
}
关于android - 更新到 gradle 7 后方法 com.android.build.gradle.internal.core.MergedFlavor#setSigningConfig 的模棱两可的方法重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68813073/