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

Gradle在添加firebase时给出了兼容性错误

冯哲彦
2023-03-14

所以,我刚刚创建了一个新项目,在添加任何新库或任何东西之前,我刚刚添加了Firebase库,一旦我同步了gradle,它就会给我一个错误,说混合android库会导致appcompat库出现问题。

我做错了什么?我为什么会犯这样的错误?我该如何摆脱它?

以下是我的gradle文件的源代码:

apply plugin: 'com.android.application'

    android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.femindharamshi.codifyadmin"
            minSdkVersion 21
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        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:28.0.0'
        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-core:16.0.4'

    }

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

共有3个答案

牧飞鹏
2023-03-14

appcompat依赖项上方添加这一行

//noinspection GradleCompatible
籍弘伟
2023-03-14

你必须检查/修复依赖冲突,

  • /gradlew androidDependencies/gradlew应用程序:依赖项

解决方案

>

  • 力解:

    //force a resolution
    
    configurations.all {
      resolutionStrategy.force 'com.android.support:support-media-compat:28.0.0'
    }
    

    排除重复的模块

    //excluding a module!
    
    implementation ("com.android.support:appcompat-v7:28.0.0") {
       exclude group: 'com.android.support', module: 'support-media-compat'
    }
    

    更新部队支助库

    ext {
        supportLibVersion = '28.0.0'
    }
    
    dependencies {
        // ... Other dependencies 
        implementation "com.android.support:appcompat-v7:$supportLibVersion"
        implementation ("com.android.support:support-v4:$supportLibVersion"){
            force = true
        }
        implementation ("com.android.support:exifinterface:$supportLibVersion"){
            force = true
        }
    }
    

  • 贝研
    2023-03-14

    你可以看到这个答案。只需要这样做:

    implementation ('com.google.firebase:firebase-core:16.0.4') {
        exclude group: "com.android.support"
    }
    
     类似资料:
    • 我在跟踪Firebase文档,它告诉我把这条线 它告诉把这个放在下面 但我没有这样的台词,我只有这样一句:- 我应该把上面的线放在哪里?(也请注意,我是编程新手,所以请解释您给出的任何解决方案:) 非常感谢。

    • 我想在我的Flutter应用程序中实施Firebase云消息传递,我开始实施Android部分。我像在Firebase留档中一样添加了依赖项,但现在我在构建应用程序时遇到了gradle错误: 我对gradle一点经验都没有,所以我希望能得到一些帮助^^ 以下是应用/构建。格拉德尔 这是项目建设。gradle(如果需要):

    • 我正在将Firebase添加到我的应用程序中,以使用Crashlytics。这很好,但当我按照官方指南安装它时,我从Gradle那里得到了错误,google play服务找不到。为什么它告诉我找不到? 我的应用程序运行最新的Gradle“v3.4.1”,我搜索了这个问题,得到了这个答案: 因此,作为一个快速解决方案,我添加了另一个存储库: 链接:错误:找不到com。谷歌。gms:google se

    • 我有一个angular 2应用程序,它使用firebase进行身份验证。我想使用谷歌作为我的身份验证提供者,并有一切设置,以便它应该工作。 如果我尝试用signinWithPopup进行身份验证(如文档中提到的),它可以工作: 但是,如果使用重定向尝试相同的代码,则会出现错误: 有人知道为什么弹出式方法有效而重定向方法无效吗?

    • 输出在这里。 java版本为 在Android Studio的项目结构中,我无法设置JavaSDK,如下所示。 我在试图解决这个问题的时候在互联网上发现了这个问题和其他很多问题,但我还没有找到解决方案。谁能帮我修一下这个吗。

    • 本章提供了有关 版本控制 章节中提供的破坏性和非破坏性修改列表的详细说明。 什么算是一个破坏性(不兼容)的变化并没有明确的定义。本指南应该被视为指示性的,而不是每一种可能变化的全面清单。 这里列出的规则只涉及客户端兼容性。预期API生产者明白在部署方面的要求,包括实现细节的变化。 一般目的是,服务端更新到一个新的minor版本或patch版本不该破坏客户端。可预期的破坏类型有: 源代码兼容性:针对