【问题标题】:No such property: scope for class: com.android.build.gradle.internal.variant.ApplicationVariantData没有这样的属性:类的范围:com.android.build.gradle.internal.variant.ApplicationVariantData
【发布时间】:2023-03-15 13:17:01
【问题描述】:

更新到 Android Studio 4 后,出现以下错误: 配置项目 ':app' 时出现问题。

groovy.lang.MissingPropertyException:没有这样的属性:类的范围:com.android.build.gradle.internal.variant.ApplicationVariantData

我的毕业生:

classpath 'com.android.tools.build:gradle:4.1.0-alpha10'

gradle-wrapper.properties:

https://services.gradle.org/distributions/gradle-6.5-bin.zip

【问题讨论】:

  • 看到同样的事情。你可以发布堆栈跟踪吗?我的包含类似这样的原因:groovy.lang.MissingPropertyException:没有这样的属性:类的范围:com.crashlytics.tools.gradle.ProjectVariantState.resolveStrippedNativeLibsPath(ProjectVariantState. groovy:256) 在 com.crashlytics.tools.gradle.ProjectVariantState.resolvePackagedNativeLibsPath(ProjectVariantState.groovy:240)

标签: android android-studio kotlin gradle android-gradle-plugin


【解决方案1】:

我遇到了同样的问题。删除 build.gradle 中的所有结构引用解决了我的情况。

你可以尝试删除

apply plugin: 'io.fabric'

classpath 'io.fabric.tools:gradle:1.31.2'

您的 build.gradle 文件中的行。

Fabrics Crashlytics 已弃用。如果您使用的是 Fabric Crashlytics,则可以将其替换为 Firebase Crashlytics

【讨论】:

  • 谢谢你,这解决了我的问题。安卓工作室 4.0
  • 欢迎您,如果您仍想使用 crashlytics,您可以按照以下步骤将 firebase crashlytics 添加到您的项目中。 firebase.google.com/docs/crashlytics/…
  • 谢谢@ycannot 这应该被接受的答案。
【解决方案2】:

我遇到了同样的问题,尤其是与@display name 相同的堆栈跟踪(在 cmets 上)。

从那里我注意到对 Crashlytics 的引用。实际上这就是问题所在:旧的、已弃用的版本(来自 Fabric)。迁移到新的 Firebase Crashlytics 为我解决了这个问题。

【讨论】:

【解决方案3】:

2020 年 10 月更新: Fabric 已弃用,因此删除所有依赖于 Fabric.io 的插件和依赖项

喜欢:

apply plugin: 'io.fabric'


classpath 'io.fabric.tools:gradle:1.31.2'



maven {
        url 'https://maven.fabric.io/public'
    }

删除后你必须添加:

 classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'

在你的build.gradle

https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=android

【讨论】:

  • 删除后必须添加类路径 'com.google.firebase:firebase-crashlytics-gradle:2.3.0' apply plugin: 'com.google.firebase.crashlytics' firebase.google.com/docs/crashlytics/…
  • 一石二鸟,gradle 更新,crashlytics 升级
【解决方案4】:

只需将其删除或注释掉即可。它对我有用。

apply plugin: 'io.fabric'

classpath 'io.fabric.tools:gradle:1.+'

来自两个 gradle 文件。

【讨论】:

  • 谢谢,我什至不知道为什么我们的项目中集成了fabric)))
  • 是的,就是这样。我的项目太旧了,我必须删除所有过期的依赖
【解决方案5】:

请将您的 Gradle 依赖更新为:

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

gradle-wrapper.properties

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

【讨论】:

    【解决方案6】:

    当我将 Android Studio 从 4.0.2 升级到 4.1 时,这开始发生在我身上。不幸的是,我不得不更新一个仍然包含结构的分支,我让它工作的唯一方法是降级 android studio 并进行修复并能够进行新的构建。

    在此处下载旧版本:

    Windows:https://android-studio.en.uptodown.com/windows/versions

    Mac:https://android-studio.en.uptodown.com/mac/versions

    【讨论】:

    • 您需要使用 firebase crashlytics 更改您的 Fabric crashlytics 使用情况。无论如何,您将要更新 android studio。 firebase.google.com/docs/crashlytics/…
    • 我认为您错过了需要对仍然具有旧版本的特定分支进行更新的部分。如果您使用滚动发布的应用程序,并且商店中的版本需要修补程序并且具有新 Firebase 的下一个版本尚未准备好,则可能会发生这种情况。
    【解决方案7】:

    我正在使用 Fabrics Crashlytics,在将我的 Gradle 的 Android 插件更新到版本 4.1 后,我遇到了同样的错误:

    classpath 'com.android.tools.build:gradle:4.1.0-rc01'
    

    我需要升级 gradle 插件以将本机调试符号上传到 Google Play 控制台,如此链接中所述。 https://developer.android.com/studio/preview/features#native-crash-symbolization

    要使用 Android 插件 gradle 版本 4.1, 您的最低 gradle 版本需要是 6.5 版。 我用的是 gradle 6.5.1 版

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

    从 Fabric Crashlytics 升级到 Firebase Crashlytics 为我解决了这个问题,这可能是因为 Fabric 与用于 gradle 的较新版本的 Android 插件不兼容。有关如何从 Fabric crashlytics 升级到 Firebase Crashlytics 的更多信息。看看这个链接https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=android

    【讨论】:

    • 发布链接时请务必小心。只是一个链接是不好的做法。在这种情况下,可能提到的步骤的摘要会很好地补充这个答案
    【解决方案8】:

    如果您在项目中使用com.google.firebase:firebase-crashlytics-gradle 依赖项,只需更新到版本2.0.0-beta04 它对我有帮助。

    【讨论】:

      【解决方案9】:

      删除所有与不推荐使用的库相关的内容,例如结构崩溃分析等。

      【讨论】:

        【解决方案10】:

        更新 build.gradle(项目级别)中的依赖项解决了我的问题:

                classpath 'com.android.tools.build:gradle:4.1.2'
                classpath 'com.google.gms:google-services:4.3.5'
                classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.0'
        

        【讨论】:

          【解决方案11】:

          我将 de.mannodermaus.gradle.plugins:android-junit5 更新到最新版本

          【讨论】:

            【解决方案12】:

            我在一个较长时间后维护的旧项目中遇到了这个问题。问题是该项目仍在使用旧的 gradle 脚本、插件和依赖项。

            最大的问题是fabric.io 没有维护并且与最新的gradle 版本兼容。包含 crashlytics 引用的构建输出中的堆栈跟踪将我指向了结构。我建议检查一下。在您的情况下,它可能与其他插件有关。

            堆栈跟踪示例:

            at com.crashlytics.tools.gradle.ProjectVariantState$deriveFrom.call(Unknown Source)
            at com.crashlytics.tools.gradle.CrashlyticsPlugin.createTaskBuilder(CrashlyticsPlugin.groovy:301)
            at com.crashlytics.tools.gradle.CrashlyticsPlugin.this$2$createTaskBuilder(CrashlyticsPlugin.groovy)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at com.crashlytics.tools.gradle.CrashlyticsPlugin.addPluginTasks(CrashlyticsPlugin.groovy:271)
            

            【讨论】:

              【解决方案13】:

              在项目级别build.gradle 只需将依赖项'com.android.tools.build:gradle:4.5.0' 的版本降级到您的最后/较低版本是'com.android.tools.build:gradle:4.0.1'

              "gradle-wrapper.properties" 中,将"distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-all.zip" 降级到最后/较低版本,例如"distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip"。 并同步并运行。

              【讨论】:

                【解决方案14】:

                在 Android Studio 上,只需打开 build.gradle (Project),IDE 就会建议对 crashlytics 进行更新,接受该更新后错误就会消失。

                【讨论】:

                  猜你喜欢
                  • 2016-08-28
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-07-14
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多