无法在 Android 上应用“io.fabric”插件
Posted
技术标签:
【中文标题】无法在 Android 上应用“io.fabric”插件【英文标题】:Failed to apply 'io.fabric' plugin on Android 【发布时间】:2018-11-04 22:02:48 【问题描述】:我正在尝试添加 Firebase Crashlytics。 Firebase Crashlytics 教程非常简单: https://firebase.google.com/docs/crashlytics/get-started?authuser=0
我已经添加了存储库(在 buildscript 和所有项目中),以及类路径和依赖项的实现。就像在教程中一样。但是当我应用“io.fabric”插件(应用插件:“io.fabric”)并在 android Studio 中按“同步”时 - 显示下一个错误:
A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'io.fabric']
> No such property: verboseGradlePlugin for class: java.lang.String
我在“应用插件:'com.android.application'”之后应用插件。 尝试将 Fabric 插件添加到 Android Studio - 没有帮助。 尝试了所有插件版本到 1.24.0。 (当前为 1.25.4) 缓存无效并重新启动 Android Studio。 尝试将“fabric.properties”文件以及“crashlytics.properties”文件添加到应用程序文件夹。 尝试将 -DverboseGradlePlugin=false 或使用 'true' 传递给 gradle 的 'build' 任务。
Gradle 知道 'io.fabric' 插件,但试图找到缺失的 'verboseGradlePlugin' 属性。我在谷歌中没有找到任何关于此类问题的信息。
也许有人已经遇到过同样的问题,或者对如何解决这个问题有任何建议?
更新: 我的项目级build.gradle 我的应用级build.gradle
Gradle 版本 - 4.4 Android gradle 插件版本 - 3.1.2
【问题讨论】:
请发布您的 build.gradle 以及你的 gradle 和 android gradle 插件版本 添加了项目级和应用级的gradle文件,提到了gradle版本 【参考方案1】:第一步: 在您的项目级别 build.gradle 添加:
maven
url 'https://maven.fabric.io/public'
注意:此添加应严格粘贴在您的 buildscript 中,而不是您的 allprojects gradle 脚本中,如下所示:
buildscript
repositories
jcenter()
google()
maven
url 'https://maven.fabric.io/public'
接下来,将 io.fabric 工具添加到同一个 gradle(build.gradle) 中的依赖项中
dependencies
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'com.google.gms:google-services:3.2.1'
classpath 'io.fabric.tools:gradle:1.25.4'
完成此操作后,同步您的 gradle,然后再进行下一步。您应该为第 1 步准备好类似的内容
Step2:在您的应用级别 build.gradle 添加
apply plugin: 'io.fabric'
在你的依赖中:
dependencies
// ...
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'
现在再次同步并重建并运行您的项目。
注意:在操作项目级别 build.gradle 之后立即同步,然后再操作您的应用级别。
更多详情here
【讨论】:
【参考方案2】:我遇到了完全相同的问题。该错误是由于项目级 build.gradle 中的额外属性“crashlytics”而产生的,这会产生冲突。
只需将额外的属性“crashlycs”更改为“crashlyticsVersion”或类似的东西,错误就会消失。
我还建议您在额外的属性中使用后缀“版本”以避免类似的错误。
【讨论】:
非常感谢,你为我节省了几个小时,我想知道 gradle 有多脆弱,怎么可能“覆盖”一个属性:/【参考方案3】:在你的项目中你应该放
buildscript
repositories
...
maven url 'https://maven.fabric.io/public'
...
同时在app顶部的gradle文件中
apply plugin: 'io.fabric'
作为依赖项
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'
【讨论】:
以上是关于无法在 Android 上应用“io.fabric”插件的主要内容,如果未能解决你的问题,请参考以下文章
Fabric Debug Craslytic 报告:注册,缺少构建 ID,应用插件:io.fabric
Lio/fabric/sdk/android/DefaultLogger;在 io.fabric.sdk.android.Fabric.<clinit>(Fabric.java:56) 在
无法下载 gradle.jar (io.fabric.tools:gradle:1.22.0)
错误:找不到fabric.aar (io.fabric.sdk.android:fabric:1.3.17)
Android - Android Studio 中 Could not GET 'https://maven.fabric.io/public/io/fabric/tools/gradle/