所有 gms/firebase 库必须使用完全相同的版本规范 Android Studio

2023-12-29

我知道这个问题已经被问过很多次了,但我无法弄清楚。让我解释一下,5 月 2 日,Firebase 宣布 Firebase Android SDK 现在拥有独立的版本号。检查这里:Firebase Android 发行说明 https://firebase.google.com/support/release-notes/android

因此,我根据项目中的文档更改了所有 Firebase 库的版本号。之后 Android Studio 开始显示警告消息implementation 'com.google.android.gms:play-services-auth:15.0.1'

But it compiles and generating build successfully no error occurring and app running perfectly. After some day I have noticed some issue in Firebase crash logs about google-play-service in my production app. I don't know this happing due to changes or something else. So firstly I want to remove this error message in gradle file. Check: enter image description here

谷歌服务插件:classpath 'com.google.gms:google-services:3.2.1'我这里有三个模块是所有模块和项目的 gradle 文件。

项目等级:

    buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        maven {
            url 'https://maven.fabric.io/public'
        }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath 'com.google.gms:google-services:3.2.1'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
        classpath 'io.fabric.tools:gradle:1.25.4'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
         jcenter()
        maven { url "https://jitpack.io" }
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

应用程序等级:

    apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "com.xyz.xyz"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 97
        versionName "2.3.2"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
        resConfigs "en", "hi"
    }
    dexOptions {
        javaMaxHeapSize "4072M"
    }

    buildTypes {
        debug {
            applicationIdSuffix ".debug"
        }
        release {
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    aaptOptions {
        cruncherEnabled = false
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

greendao {
    schemaVersion 62
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation('com.facebook.android:facebook-android-sdk:[4,5)') {
        exclude group: "com.android.support"
    }
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') {
        transitive = true
    }
    implementation project(path: ':library')
    implementation project(path: ':showcase')
    implementation project(path: ':cropper')
    /* compile 'org.projectlombok:lombok:1.16.16'*/
    /*annotationProcessor 'org.projectlombok:lombok:1.16.16'*/
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:support-v13:27.1.1'
    implementation 'com.android.support:customtabs:27.1.1'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.android.volley:volley:1.0.0'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'de.hdodenhof:circleimageview:1.3.0'
    implementation 'com.github.bumptech.glide:glide:3.7.0'
    implementation 'com.github.jd-alexander:LikeButton:0.2.1'
    implementation 'com.daimajia.swipelayout:library:1.2.0@aar'
    implementation 'com.google.android.gms:play-services-auth:15.0.1'
    implementation 'com.google.android.gms:play-services-location:15.0.1'
    implementation 'com.google.android.gms:play-services-gcm:15.0.1'
    implementation 'com.google.firebase:firebase-auth:15.1.0'
    implementation 'com.google.firebase:firebase-core:15.0.2'
    implementation 'com.google.firebase:firebase-config:15.0.2'
    implementation 'com.google.firebase:firebase-crash:15.0.2'
    implementation 'com.google.firebase:firebase-invites:15.0.1'
    implementation 'com.google.firebase:firebase-messaging:15.0.2'
    implementation 'com.hbb20:ccp:1.8'
    implementation 'com.googlecode.libphonenumber:libphonenumber:8.4.2'
    implementation 'org.greenrobot:greendao:3.2.2'
    implementation 'com.clevertap.android:clevertap-android-sdk:3.1.4'
    testImplementation 'junit:junit:4.12'
    implementation 'android.arch.lifecycle:runtime:1.1.1'
    implementation 'android.arch.lifecycle:extensions:1.1.1'
    annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
    implementation 'org.jetbrains:annotations:15.0'
    implementation 'com.aurelhubert:ahbottomnavigation:2.1.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'it.sephiroth.android.library.targettooltip:target-tooltip-library:1.3.15'
    implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
    implementation 'com.caverock:androidsvg:1.2.1'
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') {
        transitive = true
    }
}

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

作物分级机

 apply plugin: 'com.android.library'

android {

    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 27
        versionCode 1
        versionName '2.4.7'
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    lintOptions {
        abortOnError false
    }
}

dependencies {
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation "com.android.support:exifinterface:27.1.1"
}

图书馆等级:

    apply plugin: 'com.android.library'

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    testImplementation 'junit:junit:4.12'
}

展示等级:

    buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        google()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

apply plugin: 'com.android.library'
apply plugin: 'maven'

dependencies {
    repositories {
        mavenCentral()
    }
    implementation 'com.android.support:support-annotations:27.1.1'
    implementation 'com.android.support:support-v4:27.1.1'
}

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0.0"
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

解决办法是:

将依赖项更改为 12.0.1 并将 gradle 插件降级到版本 3.2.1。

有一个已知问题 https://issuetracker.google.com/issues/79235243关于在多模块应用程序中使用 google-services 3.3。这意味着在修复该错误的新版本发布之前,降级到 google-services 到 3.2.1 可能是您唯一的选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

所有 gms/firebase 库必须使用完全相同的版本规范 Android Studio 的相关文章

随机推荐

  • 非 Java 程序员进行 Android 开发的最快途径

    我们已经做出了加入 Android 潮流的决定 整个开发环境已经安装并配置正确 我完成了中建议的步骤http developer android com sdk installing html http developer android
  • 使用正则表达式替换重叠的子模式

    我有以下正则表达式替换 input re sub r a zA Z0 9 s a zA Z0 9 r 1 2 input 我在字符串上使用正则表达式 3 a 5 b 我回来了 3 a 5 b 我想我应该回来 3 a 5 b 因此 不知何故
  • FormArray Angular 中的动态 id

    一切安好 我正在使用 FormArray 并且遇到以下问题 当尝试获取类别的值时 它总是返回相同的值 因为它是一个 formArray id category 是固定的 我目前可以像这样保留 id 动态 id category i 但我不会
  • 如何防止包含 C 库析构函数和 atexit()?

    Using ARM 无 eabi gcc https launchpad net gcc arm embedded对于 Cortex M4 裸机应用 代码为malloc即使我从未使用过也会发出malloc在我的代码中 查看装配输出arm n
  • 如何部署到现有的powerBI工作区?

    我正在尝试实施 powerBI部署管道 https learn microsoft com en us power bi create reports deployment pipelines overview 我已经为每个环境 开发 测试
  • 在 MySQL 的 where 子句中使用 BLOB

    我正在开发一个应用程序 需要通过检查存储在 MySQL 数据库中的指纹来对数据进行一些验证 建议使用 AFIS 等专有软件 但我想知道是否可以通过使用来完成检查select 语句的 where 子句中的 BLOB 列用于过滤数据 这可能吗
  • 如何取消对 Excel 工作簿的保护

    我有一个受密码保护的 Excel 工作簿 整个文档 而不仅仅是一个工作表或一组工作表 如果没有密码 您将无法打开该文件 我知道密码 所以我能够打开它 但没有明显的方法来关闭密码保护 具体来说 我想在 VBA 中执行此操作 因为最终我希望能够
  • 存储我的应用程序特定数据的正确位置在哪里?

    我正在开发一个小型 C Winforms 游戏 我想要做的事情之一是保存应用程序特定的数据 然而 我有点难以理解应该存储的正确位置 据我所知 应用程序可能存储多种类型的数据 因此保存数据的位置也不同 1 应用属性 设置 例如应用程序存储数据
  • 使用 cypress 选择下拉列表项

    我需要使用 cypress 测试 angularjs 应用程序的下拉菜单 我需要单击下拉列表 然后从下拉列表中选择或单击一个项目 我尝试如下 它适用于一个实例 但不适用于其他时间 因为第二个 get 方法中的 id 号在动态生成时不断变化
  • 评级问题

    我在使用 jquery ui 单选按钮集创建评级代码时遇到问题 它将集成到内容管理中 因此我不想使用 ID 并限制编码限制 我已经使用数组完成了 90 的工作 但是当我从下到上选择时 它无法正常工作 任何人都可以帮忙解决这个问题吗 谢谢
  • 如何在 Silverlight 4 应用程序中获取 Outlook 2003 数据

    是否可以将 Outlook 2003 自动化与 Silverlight 4 结合使用 或者也许有一些不同的方法可以在 Silverlight 应用程序中使用 Outlook 2003 MAPI 我正在使用 Silverlight 4 并尝试
  • Bootstrap模式弹出确认防止多次点击

    button name remove levels on click function e var form this closest form e preventDefault confirm modal backdrop static
  • 从 Python 脚本子进程获取输出

    这可能是一个愚蠢的问题 但我有一个启动子进程的 Python 脚本 也是一个 Python 脚本 并且我需要该子进程返回三个整数 如何从启动子进程的 Python 脚本获取这些返回值 我是否必须将整数输出到标准输出 然后使用 check o
  • SharedPreferences.onSharedPreferenceChangeListener 未被一致调用

    我正在注册一个像这样的首选项更改侦听器 在onCreate 我的主要活动 SharedPreferences prefs PreferenceManager getDefaultSharedPreferences this prefs re
  • 适用于 Android 的 Google Play 音乐 API

    我正在开发一款 Android 音乐应用程序 我需要两件事 获取艺术家的专辑封面 专辑名称 曲目名称等 打开 Google Play 页面购买这张专辑 首先我目前正在使用iTunes API http www apple com itune
  • 如何操作 jqGrid 的搜索/过滤器?

    我有一个带有导航栏的 jqGridsearch true and multipleSearch true 我想在我的 UI 中添加一个按钮 自动向搜索添加附加规则 我尝试直接操作过滤器的 postData 但以这种方式添加的值不会显示在搜索
  • Java VS C# 中的 intBitsToFloat 方法?

    在 C 中将位转换为浮点数时 我得到了错误的数字 让我们使用这个位number 1065324597 In Java 如果我想从位转换为浮点数 我会使用intBitsToFloat method int intbits 1065324597
  • 在 BigQuery 中安排查询

    我有一个 BigQuery 查询 它将两个表联合起来 每日 Google Analytics 导出 我想要的是将查询保存为视图或表 但随着新的 Google Analytics 数据加载到 BigQuery 中 最终视图 表每天会自动更新
  • 如何使用 FileProvider 共享任意路径的文件?

    我的应用程序允许用户下载一些内容并将其存储在他选择的文件夹中 我想创建一个 ContentProvider 来共享这些文件 但当下载的文件存储在应用程序默认路径之外时 我不知道该怎么做 我试图声明以下文件路径
  • 所有 gms/firebase 库必须使用完全相同的版本规范 Android Studio

    我知道这个问题已经被问过很多次了 但我无法弄清楚 让我解释一下 5 月 2 日 Firebase 宣布 Firebase Android SDK 现在拥有独立的版本号 检查这里 Firebase Android 发行说明 https fir