插件项目:未找到firebase\u core\u web
我尝试将Android project连接到Firebase,但在pubsec.yaml中添加以下内容时出现此错误:插件项目:未找到firebase\u core\u web,firebase,flutter,dart,google-cloud-firestore,firebase-authentication,Firebase,Flutter,Dart,Google Cloud Firestore,Firebase Authentication,我尝试将Android project连接到Firebase,但在pubsec.yaml中添加以下内容时出现此错误: firebase_auth: ^0.16.0 cloud_firestore: ^0.13.5 当我跑的时候,它不工作了 Plugin project :firebase_core_web not found. Please update settings.gradle. Plugin project :firebase_auth_web not found. Please u
firebase_auth: ^0.16.0
cloud_firestore: ^0.13.5
当我跑的时候,它不工作了
Plugin project :firebase_core_web not found. Please update settings.gradle.
Plugin project :firebase_auth_web not found. Please update settings.gradle.
Plugin project :cloud_firestore_web not found. Please update settings.gradle.
在您的
android/app/build.gradle中是否有解决方案,请更新以下内容:
android {
// ...
defaultConfig {
// ...
minSdkVersion 16
}
}
进入:
注意:
在Flatter中使用firebase时,需要使用minSdkVersion 23
从:
默认情况下,Flatter支持Android SDK v16(Jelly Bean,2012年发布),但multidex并不真正适用于Jelly Bean(尽管这是可能的)。配置Jelly Bean使其工作超出了本代码实验室的范围,因此我们将把最低目标SDK版本从v16更改为v21(棒棒糖,2014年发布)
要更改最低目标SDK版本,请执行以下操作:
- 打开android/app/build.gradle,然后找到显示MinsdkVersion16的行
- 将该行更改为MinsdkVersion21
- 保存文件
升级后,它应该可以正常工作当您创建任何新的颤振项目时,settings.gradle
文件将提供给您。以下是设置.gradle
文件的格式(默认文件无更改),仅供参考:
设置的解释梯度:
Gradle
是一个用于android项目的构建工具,就像ant
或maven
一样,它使用groovy语言或kotlin编写脚本。在这种情况下,上面的代码是使用groovy
编写的,因为groovy
是jvm
语言,所以它可以使用Java
库。因此,我们基本上会将项目添加到构建中(在groovy中,可以省略方法的括号)
这一行:
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
正在获取在计算机中创建的颤振项目的路径。供参考:
这一行:
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
将在flatter项目的根目录下创建一个名为.flatter plugins
的空文件。然后是插件。每个{name,path->
这基本上是一个迭代,将插件名称和插件路径添加到文件。flatter_plugins
,如果在该文件中找不到插件,您将得到此问题中的错误
.flatter插件
文件:
# This is a generated file; do not edit or check into version control.
cloud_firestore=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.6/
cloud_firestore_web=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_web-0.1.1+2/
firebase_auth=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.16.1/
firebase_auth_web=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_auth_web-0.1.2/
firebase_core=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.4.4+3/
firebase_core_web=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_core_web-0.1.1+2/
firebase_database=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_database-3.1.5/
firebase_storage=/Users/<users>/.pub-cache/hosted/pub.dartlang.org/firebase_storage-3.1.5/
#这是生成的文件;请勿编辑或签入版本控制。
cloud_firestore=/Users//.pub cache/hosted/pub.dartlang.org/cloud_firestore-0.13.6/
cloud\u firestore\u web=/Users//.pub cache/hosted/pub.dartlang.org/cloud\u firestore\u web-0.1.1+2/
firebase_auth=/Users/.pub cache/hosted/pub.dartlang.org/firebase_auth-0.16.1/
firebase_auth_web=/Users//.pub cache/hosted/pub.dartlang.org/firebase_auth_web-0.1.2/
firebase_core=/Users//.pub cache/hosted/pub.dartlang.org/firebase_core-0.4.4+3/
firebase_core_web=/Users//.pub cache/hosted/pub.dartlang.org/firebase_core_web-0.1.1+2/
firebase_数据库=/Users//.pub cache/hosted/pub.dartlang.org/firebase_数据库-3.1.5/
firebase_storage=/Users//.pub cache/hosted/pub.dartlang.org/firebase_storage-3.1.5/
将文件设置更改为此
include ':app'
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}
请在颤振应用->安卓->设置.gradle中添加此项
只需将其添加到settings.gradle文件中即可-
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}
除了彼得的回答之外
我把这一行放错地方了。正确的那一行是文件的底部
应用插件:“com.google.gms.google服务”
我的设置适用于以下版本。
公共规范yaml
firebase_认证:^0.14.0+5
云存储:^0.12.9+5
我还添加了(pubspec.yaml)来消除警告。
firebase_核心:^0.4.5
firebase_分析:^5.0.2
build.gradle(根目录)
classpath'com.google.gms:googleservices:4.3.3'
build.gradle(应用程序目录)
MinsdkVersion23
targetSdkVersion 28
然后我在build.gradle的底部添加了这个
应用插件:“com.google.gms.googleservices”
最后一件事是运行终端命令:
$flatter套餐获得
构建项目后-等待15秒,它将在Firebase控制台上显示一条消息:“祝贺您,您已成功将Firebase添加到应用程序中!”
这可能是一个依赖项版本不匹配。请确保您使用的是pubspec.yaml中所有最新版本的库
您可以从中引用最新版本的依赖项
只要做
明斯克版本21
我也犯了同样的错误:-
插件项目:找不到firebase\u core\u web。请更新settings.gradle。
插件项目:cloud\u fireenter code heresenter code here
tore\u web找不到。请更新settings.gradle。
插件项目:firebas在此处输入代码
e_auth_web未找到。请更新settings.gradle
我通过以下过程解决了这个问题:-
转到你的应用程序级gradle文件,查看targetSdkVersion,如果它有16个或更少版本,那么从这个链接更新到新的最新版本。这会很有帮助。@GunJack你需要minsdkversion 21,因为Flatter中的firebase不适用于版本16,你可以在这里看到。。你所要做的就是创建一个新的Flatter项目,即设置。gradle在另一个答案中已经提供给你,当你创建一个新的颤振项目时,关于这段代码的解释将不胜感激。谢谢。谢谢你的详细解释,但我的设置。gradle对颤振sdk和其他东西有参考。我应该用你提供的代码覆盖它还是只是附加?Th非常感谢您对@peterhaddayes的详细解释。您能解释一下它为什么有效吗?@BugsHappen不更改此设置,但将其添加到设置中。gradle
文件不要将此添加到默认设置的末尾
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}