代码之家  ›  专栏  ›  技术社区  ›  Yaroslav Mytkalyk

多风味库:“必需的Or.GooLe.Auth.java API”,并发现了不兼容的值“Java运行时”

  •  1
  • Yaroslav Mytkalyk  · 技术社区  · 8 年前

    Android插件版本: 3.2.0

    生成工具版本: 28.0.3

    渐变版本: 4.10.2

    图书馆变体与风味

    apply plugin: 'com.android.library'
    ...
    
    buildTypes {
        release {
        }
    }
    
    flavorDimensions 'default'
    
    productFlavors {
        exposed {
        }
    
        production {
        }
    }
    

    演示应用程序有两种构建类型,没有变体和依赖关系。

    apply plugin: 'com.android.application'
    ...
    
    buildTypes {
        debug {
        }
    
        release {
        }
    }
    
    dependencies {
        implementation project(':library')
    }
    

    输出:

    Caused by: org.gradle.internal.component.AmbiguousConfigurationSelectionException: Cannot choose between the following variants of project :library:
      - exposedReleaseRuntimeElements
      - kapt
      - kaptAndroidTest
      - kaptAndroidTestDebug
      - kaptAndroidTestExposed
      - kaptAndroidTestExposedDebug
      - kaptAndroidTestProduction
      - kaptAndroidTestProductionDebug
      - kaptDebug
      - kaptExposed
      - kaptExposedDebug
      - kaptExposedRelease
      - kaptProduction
      - kaptProductionDebug
      - kaptProductionRelease
      - kaptRelease
      - kaptTest
      - kaptTestDebug
      - kaptTestExposed
      - kaptTestExposedDebug
      - kaptTestExposedRelease
      - kaptTestProduction
      - kaptTestProductionDebug
      - kaptTestProductionRelease
      - kaptTestRelease
      - productionReleaseRuntimeElements
     All of them match the consumer attributes:
       - Variant 'exposedReleaseRuntimeElements':
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' and found compatible value 'release'.
           - Found com.android.build.api.attributes.VariantAttr 'exposedRelease' but wasn't required.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
           - Found default 'exposed' but wasn't required.
           - Required org.gradle.usage 'java-runtime' and found compatible value 'java-runtime'.
           - Found org.jetbrains.kotlin.platform.type 'androidJvm' but wasn't required.
       - Variant 'kapt':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptAndroidTest':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptAndroidTestDebug':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptAndroidTestExposed':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptAndroidTestExposedDebug':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptAndroidTestProduction':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptAndroidTestProductionDebug':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptDebug':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptExposed':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptExposedDebug':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptExposedRelease':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptProduction':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptProductionDebug':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptProductionRelease':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptRelease':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptTest':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptTestDebug':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptTestExposed':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptTestExposedDebug':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptTestExposedRelease':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptTestProduction':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptTestProductionDebug':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptTestProductionRelease':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'kaptTestRelease':
           - Found artifactType 'processed-jar' but wasn't required.
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
           - Required org.gradle.usage 'java-runtime' but no value provided.
       - Variant 'productionReleaseRuntimeElements':
           - Required com.android.build.api.attributes.BuildTypeAttr 'release' and found compatible value 'release'.
           - Found com.android.build.api.attributes.VariantAttr 'productionRelease' but wasn't required.
           - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
           - Found default 'production' but wasn't required.
           - Required org.gradle.usage 'java-runtime' and found compatible value 'java-runtime'.
           - Found org.jetbrains.kotlin.platform.type 'androidJvm' but wasn't required.
       at org.gradle.internal.component.model.AttributeConfigurationSelector.selectConfigurationUsingAttributeMatching(AttributeConfigurationSelector.java:44)
    

    所以我选择了

    implementation project(path: ':library', configuration: 'productionReleaseRuntimeElements')
    

    注意在上面的列表中 Required org.gradle.usage 'java-runtime' and found compatible value 'java-runtime' .

    我得到

    Caused by: org.gradle.internal.component.IncompatibleConfigurationSelectionException: Variant 'productionReleaseRuntimeElements' in project :library does not match the consumer attributes
    Variant 'productionReleaseRuntimeElements':
      - Required com.android.build.api.attributes.BuildTypeAttr 'release' and found compatible value 'release'.
      - Found com.android.build.api.attributes.VariantAttr 'productionRelease' but wasn't required.
      - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
      - Found default 'production' but wasn't required.
      - Required org.gradle.usage 'java-api' and found incompatible value 'java-runtime'.
      - Found org.jetbrains.kotlin.platform.type 'androidJvm' but wasn't required.
      at org.gradle.internal.component.model.LocalComponentDependencyMetadata.selectConfigurations(LocalComponentDependencyMetadata.java:133)
    
    0 回复  |  直到 8 年前
    推荐文章