gpt4 book ai didi

firebase - 插件项目 :firebase_core_web not found

转载 作者:行者123 更新时间:2023-12-03 02:38:30 25 4
gpt4 key购买 nike

我尝试将 Android 项目连接到 Firebase,但在将以下内容添加到 pubsec.yaml 时出现此错误:

firebase_auth: ^0.16.0
cloud_firestore: ^0.13.5

当我运行 gradle 但它不起作用时
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
}
}
进入:
android {
// ...
defaultConfig {
// ...
minSdkVersion 23
}
}

注:
您需要使用 minSdkVersion 23在 flutter 中使用 firebase 时。
来自 docs :

By default, Flutter supports Android SDK v16 (Jelly Bean, released 2012), but multidex doesn't really work with Jelly Bean (though, it's possible). Configuring Jelly Bean to work is beyond the scope of this codelab, so we'll change the minimum target SDK version from v16 to v21 (Lollipop, released 2014).


要更改最低目标 SDK 版本:
  • 打开android/app/build.gradle,找到minSdkVersion 16这一行。
  • 将该行更改为 minSdkVersion 21。
  • 保存文件。

  • 升级后,它应该可以正常工作。 settings.gradle创建任何新的 Flutter 项目时都会向您提供文件 .作为引用,这就是您的 settings.gradle文件应该是(默认文件没有变化):
    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
    }
    https://github.com/PeterHdd/Firebase-Flutter-tutorials/blob/master/firebase_storage_tutorial/android/settings.gradle

    说明settings.gradle : Gradle是一个用于android项目的构建工具,就像 antmaven ,它使用 groovy 语言或 kotlin 进行脚本编写。在这种情况下,上面的代码是使用 groovy 编写的自 groovyjvm语言然后它可以使用 Java图书馆。所以基本上 include ':app' 将项目添加到构建中(在 groovy 中,您可以省略方法的括号)。
    这一行:
    def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
    正在获取您在机器中创建的 flutter 项目的路径。以供引用:
    https://docs.gradle.org/current/javadoc/org/gradle/api/initialization/ProjectDescriptor.html#getProjectDir--
    https://docs.oracle.com/javase/8/docs/api/java/io/File.html#toPath--
    https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html
    这一行:
    def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
    将创建一个名为 .flutter-plugins 的空文件,在你的 flutter 项目的根目录下。然后 plugins.each{ name, path ->这基本上是一个迭代,将插件名称和插件路径添加到文件 .flutter_plugins ,如果 在该文件中未找到插件,您会收到此问题中的错误 .flutter-plugins文件:
    # 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/

    关于firebase - 插件项目 :firebase_core_web not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61732409/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com