使用firebase时颤动的Gradle问题
Posted
技术标签:
【中文标题】使用firebase时颤动的Gradle问题【英文标题】:Gradle issue in flutter when using firebase 【发布时间】:2019-03-16 07:10:58 【问题描述】:在我的颤振应用程序中,我将 firebase_auth 用于 google_sign_in,它工作正常。但是当我将 cloud_firestore: 添加到 pubspec.yaml 然后获取依赖项然后重新启动我的应用程序时,它会向我显示如下错误:
FAILURE: Build failed with an exception.
* What went wrong:
The library com.google.android.gms:play-services-base is being requested by various other libraries at [[15.0.1,15.0.1]], but resolves to 16.0.1. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 3s
Finished with error: Gradle build failed: 1
【问题讨论】:
这些链接应该提供解决方法的建议youtube.com/watch?v=bROui4ID9_Q&feature=youtu.begithub.com/flutter/flutter/issues/18579#issuecomment-398484148github.com/flutter/flutter/issues/19868github.com/flutter/flutter/issues/19983github.com/flutter/flutter/issues/20486我认为有一些正在进行的插件更新以解决这些版本冲突。 我尝试了所有方法,但对我没有任何效果! 类似问题:***.com/questions/53064229/… 【参考方案1】:这个link 为我解决了这个问题。
首先我将 pubspec.yaml 中的依赖项设置为
dependencies:
flutter:
sdk: flutter
cloud_firestore: ^0.8.2
并在我的 IDE 终端中运行 flutter packages get
。
我还必须更改最低目标 SDK 版本:
-
打开
android/app/build.gradle
,然后找到上面写着的那一行
minSdkVersion 16
。
将该行更改为minSdkVersion 21
。
保存文件。
另外,我必须打开android/app/build.gradle
,然后将以下行添加到文件的最后一行:
apply plugin: 'com.google.gms.google-services'
接下来,我必须打开android/build.gradle
,然后在 buildscript 标签内,添加一个新的依赖项:
buildscript
repositories
// ...
dependencies
// ...
classpath 'com.google.gms:google-services:3.2.1' // new
在此之后,我的应用程序终于在 android 模拟器上运行了。
如果您遇到困难,link 有更完整的演练。
【讨论】:
【参考方案2】:我在我的 android/build.gradle 文件中使用了这个依赖项
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'com.google.gms:google-services:3.2.1'
并在 pubspec.yaml 中将此版本用于 firebase 和 google
firebase_auth: 0.5.11
google_sign_in: 3.0.4
cloud_firestore: 0.7.3
它运行良好,因为在这些版本中,gradle 工具已更新为匹配 Android Studio 3.1.2。
其他 firebase 工作版本:
firebase_admob: 0.5.5
firebase_analytic: 1.0.1
firebase_core: 0.2.4
firebase_database: 1.0.1
firebase_dynamic_links: 0.02
firebase_messaging: 1.0.2
firebase_performance: 0.0.3
firebase_remote_config: 0.0.4
firebase_storage: 0.3.7
【讨论】:
如果 cloud_firestore 版本高于 0.7.3 ios Build ok 但 Android Build 失败,则不起作用。 ***.com/questions/53064229/… @LiveRock,我知道这就是我提供这些工作版本的原因。此版本有效,因为 gradle 工具已在此版本中更新。参考参考changelog。 我知道您提供的组合有效。但是由于错误修复等,我们需要继续使用更高版本的插件。这将是一个更持久的解决方案。有什么建议吗? 所有这些插件仍处于测试阶段,所以等待初始版本是我能给出的唯一建议!以上是关于使用firebase时颤动的Gradle问题的主要内容,如果未能解决你的问题,请参考以下文章