当前位置: 首页 > 知识库问答 >
问题:

在“应用程序”项目中,一个已解决的Google Play services库依赖项依赖于另一个精确版本的库

辛锦
2023-03-14

对于扩展调试信息,从命令行执行Gradle,使用。/gradlew--info:app:assembleDebug查看工件的dep endency路径。此错误消息来自google-services Gradle插件,在https://github.com/google/play-services-plugins上报告问题,并通过向build.Gradle文件添加“GoogleServices{disableVersionCheck=false}”来禁用。

    apply plugin: 'com.android.application'

    android {
        compileSdkVersion 27
        defaultConfig {
            applicationId "myapp.com"
            minSdkVersion 19
            targetSdkVersion 27
            versionCode 11
            versionName "1.1"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            multiDexEnabled true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.3'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
        implementation 'com.google.firebase:firebase-firestore:17.1.5'

        implementation 'com.firebaseui:firebase-ui-auth:4.2.0'

    }

    apply plugin: 'com.google.gms.google-services'
    com.google.gms.googleservices.GoogleServicesPlugin

项目分级:

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'

        classpath 'com.google.gms:google-services:4.2.0'

    }
}

有人能帮帮我吗?

共有1个答案

皇甫逸清
2023-03-14

这里有许多个别解决方案的答案,但这些解决方案并没有真正解决问题。以下是如何解决这个问题:

正如原始日志输出所建议的,使用以下命令在终端中运行构建非常有用:

。/gradlew--信息程序集调试

Dependency Resolution Help: Displaying all currently known paths to any version of the dependency: Artifact(groupId=com.google.firebase, artifactId=firebase-iid)

-- task/module dep -> firebase-analytics@17.2.0
---- firebase-analytics:17.2.0 library depends -> play-services-measurement-api@17.2.0
------ play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0

-- task/module dep -> firebase-core@17.2.0
---- firebase-core:17.2.0 library depends -> firebase-analytics@17.2.0
------ firebase-analytics:17.2.0 library depends -> play-services-measurement-api@17.2.0
-------- play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0

-- task/module dep -> play-services-measurement-api@17.2.0
---- play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0

-- task/module dep -> firebase-iid@19.0.0

-- task/module dep -> firebase-messaging@17.1.0
---- firebase-messaging:17.1.0 library depends -> firebase-iid@[16.2.0]

-- task/module dep -> com.pressenger:sdk@4.8.0
---- com.pressenger:sdk:4.8.0 library depends -> firebase-messaging@17.1.0
------ firebase-messaging:17.1.0 library depends -> firebase-iid@[16.2.0]

从这个列表中你可以知道两件事:

  1. 在哪里找到冲突的depedency
  2. 设置冲突依赖项的版本

在我的例子中,冲突的依赖项是firebase-iid:它要么是@19.0.0要么是@16.2.0

要解决此问题,必须在构建中显式定义错误的firebase-iid的顶级依赖项。gralde

因此,在上面的日志中,您可以看到有两个过时版本的Firebase-iid@16.2.0示例。一个来自--task/module dep->firebase-messaging@17.1.0,另一个来自第三方库(pressenger)。我们对第三方库没有影响,所以这里没什么可做的。但是对于另一个依赖项,我们必须用正确的版本显式声明它:

 类似资料:
  • 当我试图编译我的项目时,我得到了以下错误 错误:在“应用程序”项目中,已解决的Google Play services库依赖项依赖于另一个精确版本(例如“[15.0.1]”),但未解决到该版本。库显示的行为将是未知的。 Build.Gradle(项目) 我得到以下错误 错误:在“应用程序”项目中,已解决的Google Play services库依赖项依赖于另一个精确版本(例如“[15.0.1]”

  • 我有一个应用程序运行良好,但今天它在构建项目时出现了错误。我花了一整天的时间,尝试了太多来自stack的解决方案。什么都没用。 我有以下应用程序- build.gradle是 在建筑项目上,我遇到了这个错误 错误:在项目“app”中,已解析的Google Play services库依赖于另一个精确版本(例如“[20.0.2]”),但未解析为该版本。库显示的行为未知。 依赖项失败:com。谷歌。f

  • > 嗨,我正在实施Firebase崩溃analytics.when我在我的项目中添加了Firebase sdk,这些错误显示。我被困在这个日志时间,我试图降低实现,但它显示了另一个错误。所以你能解决这个问题me.below添加了构建错误和gradlecode.so可以请解决这个问题。 在org.gradle.api.internal.tasks.execution.CatchExceptionTa

  • 本文向大家介绍gradle 依赖于另一个Gradle项目,包括了gradle 依赖于另一个Gradle项目的使用技巧和注意事项,需要的朋友参考一下 示例 对于多项目gradle构建,有时可能需要依赖构建中的另一个项目。为此,请在项目的依赖项中输入以下内容: ':OtherProject'从目录结构的根引用的项目gradle路径在哪里。 为了':OtherProject'在build.gradle文

  • 免责声明:我是使用Ant Ivy的新手 我有以下eclipse配置: 项目A取决于项目B和项目C 项目B依赖于项目C 每个项目都有自己的ivy.xml文件。 ProjectA有一个生成。xml文件,如下所示: 因此,运行这个build.xml会导致错误,说ProjectC无法编译,因为它缺少一个*。应该由ivy:resolve命令解析的jar文件。 我的问题是: < li >如何创建一个build

  • 我面临着以下问题。我有两个Gradle项目(ProjectA和ProjectB)在同一个层次结构上,没有任何根项目。由于ProjectA依赖于ProjectB,我尝试将其建模如下: ProjectA的settings.gradle: ProjectA的build.gradle: 然而,当我在ProjectA上执行gradle build时,我得到了以下错误: 我必须在ProjectB中定义某种默认