【问题标题】:Cannot create a proxy class for abstract class 'GoogleServicesTask'. with 'com.google.gms:google-services:4.3.4'无法为抽象类“GoogleServicesTask”创建代理类。使用“com.google.gms:google-services:4.3.4”
【发布时间】:2021-01-19 21:44:50
【问题描述】:

昨晚将 Fabrics crashlytics 升级到 Firebase。

当我尝试重建应用程序时,它遇到了很多问题,我一一修复了这些问题,但最后一个问题被卡住了:

无法为抽象类“GoogleServicesTask”创建代理类

应用程序/构建

buildscript {
    ext.kotlin_version = '1.3.41'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        classpath 'com.google.gms:google-services:4.3.4'
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

在我的 app/gradle 文件中

apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
    compileSdkVersion 29
    defaultConfig {
        applicationId "com.xxx.xxxx"
        minSdkVersion 19
        targetSdkVersion 29
        versionCode 23
        versionName "1.1.2"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            firebaseCrashlytics {
                mappingFileUploadEnabled false
            }
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility = '1.8'
        targetCompatibility = '1.8'
    }
}
dependencies { my all dependencies}
apply plugin: 'com.google.gms.google-services'

【问题讨论】:

    标签: android firebase crashlytics


    【解决方案1】:

    最好更新这个过时的 Android Gradle 插件:

    classpath "com.android.tools.build:gradle:3.4.2"
    

    到一个版本,与 Android Studio 的版本相匹配 ...

    classpath "com.android.tools.build:gradle:7.0.2"
    

    【讨论】:

    • 这适用于我在升级 gradle 版本时必须修复的许多其他错误。
    • 要让 cocos2d-x v3 工作,这是解决方案,要让 v2 ​​工作,下面的 sharafat-shariff 答案就可以了。
    【解决方案2】:

    我在 Google 发布后就遇到了这个问题

    com.google.gms:google-services:4.3.4

    只需将版本降低到 4.3.3,它就可以再次为我工作。

    com.google.gms:google-services:4.3.3

    【讨论】:

    • 我在我的项目中使用了“classpath 'com.google.gms:google-services:+'”。强制它为 4.3.3 版本也解决了这个问题。谢谢!!
    • 虽然这确实解决了问题,但我认为使用最新版本是一种很好的做法。由于我们遇到了其他 Firebase 问题,因此我们遇到了 this post。将 gradle/wrapper/gradle-wrapper.properties 文件中的 Gradle 版本更新到 5.6.4 使我们能够毫无问题地使用最新的 com.google.gms:google-services:4.3.4
    • 要让 cocos2d-x v2 工作,这是解决方案,要让 v3 工作,上面的 marten-zeitler 答案就可以了。
    • 这解决了我的问题,因为我必须坚持使用本地 gradle v4,所以我无法升级 com.android.tools.build:gradle 它需要更新的 gradle。
    【解决方案3】:

    当我更新我们的一个旧项目时,我遇到了同样的问题。 对我有用的是我将这两个依赖项降级为

    类路径'com.google.gms:google-services:4.3.3'

    类路径'com.google.firebase:firebase-crashlytics-gradle:2.2.1'

    【讨论】:

    【解决方案4】:

    这不是上述问题的直接答案,但我搜索的所有错误经常将我发送到此条目......我们的解决方案是在这个空间内和周围。所以我希望这能帮助那些最终来到这里的迷失灵魂。如果我在我有正确的词时制定了一个答案,我会从这里链接到它。

    对我们来说,最终的答案是升级到 6.5 gradle 和 4.1.1 Android Studio(当时最新的版本),但是当我们这样做时,这个错误解释了它本身,而不仅仅是一个衬里。它实际上会告诉您失败的原因并提示如何修复它:

    您的风味名称可能会有所不同,但错误类似于: 任务 ':app:processArmeabiv7aDebug' 执行失败。

    找不到与包名称“com.yourcompany.appname.debug”匹配的客户端

    我们为调试版本添加了一个后缀,以便我们可以并行安装。但是我们没有做的是在 google-services.json 中添加一个条目!

    较旧的 Android Studio/Gradle 版本组合根本没有为错误提供上下文。我希望有一天这对某人有所帮助。这可能不是最终答案(请参阅升级说明),但对于那些因任何原因而使用旧工具一瘸一拐的人来说,这个答案是为了帮助那些找到这个答案的迷路者。

    【讨论】:

      【解决方案5】:

      android/build.gradle 中更改您当前的gradle 版本,如下所示:

      classpath "com.android.tools.build:gradle:4.0.1"
      

      同时,更改您的 gradle-wrapper.properties 文件并将最后一行替换为以下行:

      distributionUrl = https\://services.gradle.org/distributions/gradle-6.5-all.zip
      

      然后只需删除gradle-wrapper.jar运行您的项目。不用担心gradle-wrapper.jar文件运行后会自动创建。

      【讨论】:

        猜你喜欢
        • 2021-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多