Ошибка сборки Firebase для нескольких вариантов сборки в Android Instant App - PullRequest
0 голосов
/ 09 мая 2018

Я добавляю Firebase в существующее приложение с 3-мя buildTypes (отладка, постановка и выпуск). Также есть 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 идентификатора приложения: me.app (выпуск), me.app.debug (отладка) и me.app.staging (подготовка). Как видно, есть только одно приложение для отладки, хотя есть 2 варианта (debugLive и debugMock)

На Firebase я создал 1 проект и добавил 3 приложения - по 1 для каждого идентификатора приложения. Я не дал ключ SHA1 для любого из этих приложений на данный момент. Я скачал google-services.json и поместил его в корневой каталог модуля базовых функций.

Я не могу синхронизировать проект с 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'.

1 Ответ

0 голосов
/ 09 мая 2018

Понизьте ваш Сервис 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'
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...