【问题标题】:Firebase build error for multiple build variants on Android Instant AppAndroid Instant App 上多个构建变体的 Firebase 构建错误
【发布时间】:2018-05-09 18:29:15
【问题描述】:

我正在将 Firebase 添加到具有 3 种构建类型(调试、暂存和发布)的现有应用中。还有 2 种风格(实时和模拟),但我只为调试构建启用模拟:

android.variantFilter { variant ->
    if ((variant.buildType.name.equals('release') || variant.buildType.name.equals('staging'))
            && ((variant.getFlavors().get(0).name.equals('mock')))) {
        variant.setIgnore(true);
    }
}

所以有 3 个 applicationId:me.app(发布)、me.app.debug(调试)和 me.app.staging(暂存)。很明显,只有一个用于调试的应用程序,尽管有 2 个变体(debugLive 和 debugMock)

在 Firebase 上,我创建了 1 个项目并添加了 3 个应用程序 - 每个应用程序 ID 1 个。到目前为止,我没有为这些应用程序中的任何一个提供 SHA1 密钥。我下载了 google-services.json 并将其放在 base-feature 模块的根目录中。

我现在无法将项目与 Gradle 同步:

More than one variant of project :myapp-base-feature matches the consumer attributes:
  - Configuration ':myapp-base-feature:mockDebugApiElements' variant android-aidl:
      - Found artifactType 'android-aidl' but wasn't required.
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'debug'.
      - Found com.android.build.api.attributes.VariantAttr 'mockDebug' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
      - Required mocking 'mock' and found compatible value 'mock'.
      - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
  - Configuration ':myapp-base-feature:mockDebugApiElements' variant android-classes:
      - Found artifactType 'android-classes' but wasn't required.
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'debug'.
      - Found com.android.build.api.attributes.VariantAttr 'mockDebug' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
      - Required mocking 'mock' and found compatible value 'mock'.
      - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
  - Configuration ':myapp-base-feature:mockDebugApiElements' variant android-manifest:
      - Found artifactType 'android-manifest' but wasn't required.
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'debug'.
      - Found com.android.build.api.attributes.VariantAttr 'mockDebug' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
      - Required mocking 'mock' and found compatible value 'mock'.
      - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
  - Configuration ':myapp-base-feature:mockDebugApiElements' variant android-renderscript:
      - Found artifactType 'android-renderscript' but wasn't required.
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'debug'.
      - Found com.android.build.api.attributes.VariantAttr 'mockDebug' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
      - Required mocking 'mock' and found compatible value 'mock'.
      - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
  - Configuration ':myapp-base-feature:mockDebugApiElements' variant jar:
      - Found artifactType 'jar' but wasn't required.
      - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'debug'.
      - Found com.android.build.api.attributes.VariantAttr 'mockDebug' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
      - Required mocking 'mock' and found compatible value 'mock'.
      - Required org.gradle.usage 'java-api' and found compatible value 'java-api'.

【问题讨论】:

    标签: android firebase android-instant-apps


    【解决方案1】:

    将您的 Google 服务降级到 3.2.1 这是一个已知的错误,至少有 3.3.1 的风味和子模块,可能是 3.3.+

      dependencies {
            classpath 'com.android.tools.build:gradle:3.1.2'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.31"
            classpath 'com.google.gms:google-services:3.2.1' 
            classpath 'io.fabric.tools:gradle:1.25.4'
        }
    

    【讨论】:

    • 你能分享一个链接到问题跟踪器吗?这将帮助我们在未来迁移到最新版本。
    • 抱歉,我差不多一个月前遇到了它,我没有保存链接。我不确定链接了。花了很多谷歌搜索才能找到问题。我确定问题和修复,但不确定问题跟踪号或解决的 ETA。希望在他们的下一个补丁中。希望我能把你指向那里,但现在找不到它,所以你必须通过谷歌搜索一下才能找到它。
    猜你喜欢
    • 2014-08-25
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 2018-08-16
    • 2022-11-02
    相关资源
    最近更新 更多