android - 更新到 gradle 7 后方法 com.android.build.gradle.internal.core.MergedFlavor#setSigningConfig 的模棱两可的方法重载

标签 android gradle android-gradle-plugin android-gradle-plugin-7

我刚刚将 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有相同的方法。不知道如何解决这个问题。

最佳答案

我遇到了同样的问题,我最终设置了 signingConfigsvariantFilter 内 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/

相关文章:

Android 图片 View 和 ListView

java - gRPC protobuf 未使用 kotlin 构建进行编译 (Android Studio 3.0)

groovy - 请解释一下Android build.gradle groovy语法

android - build.gradle文件中是否可能 “def”值

android - OpenGL ES 2.0纯色和色值精度问题

java - 从服务中删除正在进行的通知

android - 暂停时从服务更新 Activity 数据

gradle - 创建一个始终作为最终清理步骤运行的任务?

android - 尝试升级到最新的 Gradle (2.2.0) 时构建失败

android - Android Build Gradle给出compile()错误