gpt4 book ai didi

android - 将 Cloud Firestore 和 Firebase 添加到 Flutter 项目 (Android)

转载 作者:IT王子 更新时间:2023-10-29 06:38:56 26 4
gpt4 key购买 nike

这将是一个相当长的问题,所以我会在最后加上一个 TL;DR。

几天来,我一直在努力寻找一种方法让我的设置正常工作,但无济于事。现在为了完成它并帮助其他人,我将在这里记录我的步骤:

重现步骤

  1. 创建一个新的 Flutter 项目(编译并运行,没有任何警告)
  2. 创建一个新的 Firebase 控制台项目
  3. 关注these instructions将 Firebase 添加到 android(在版本更改的情况下也包含在下面)。
  4. 将 Cloud Firestore 添加到 pubspec.yaml 中的项目
  5. 遇到这个错误:

    • 出了什么问题:任务“:cloud_firestore:compileDebugJavaWithJavac”执行失败。

Firebase 说明(截至目前)

  1. 安装 Google Repository(当前修订版 58)(根据 this issue 不再需要,但已完成验证)。
  2. 复制在 android/app/src/main/AndroidManifest.xml 中找到的包名称。在我的例子中,这是 com.omnisciamus.fire。使用它在 Firebase 项目中创建一个新的 Android 应用程序以及一个调试 key 。
  3. 将创建的 google-services.json 拖放到 android/app
  4. 修改android/build.gradleandroid/app/build.gradle。我已将其更改为使用最新版本(修改如下)。
  5. 此时我重新运行编译以查看是否已经弹出任何问题,并且我们有 3 个这样的警告,这很可能是谷歌服务插件,我无法更改任何内容:registerResGeneratingTask 已弃用,请使用 registerGeneratedFolders(FileCollection)
  6. 现在我们在 pubspec.yaml 中添加依赖项,也包含在下面。现在我们可以使用几个可能的版本,但我首先尝试了最新版本(通过在版本前添加 ^)。

渐变

android/build.gradle 的更改:

buildscript {
repositories {
google()
jcenter()
}

dependencies {
classpath 'com.android.tools.build:gradle:3.1.0' // upgraded from 3.0.1
classpath 'com.google.gms:google-services:3.2.0' // added & upgraded from 3.1.1
}
}

然后我们有了android/app/build.gradle:

//bottom of file
apply plugin: 'com.google.gms.google-services'

公共(public)规范

我的 pubspec 的依赖结构如下所示:

dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.0
firebase_analytics: 0.3.0
cloud_firestore: 0.3.1

设置详情

有关更多详细信息,我已经包含了我的 flutter doctor -v 输出:

[√] Flutter (Channel beta, v0.1.5, on Microsoft Windows [Version 10.0.16299.309], locale en-GB)
• Flutter version 0.1.5 at C:\Developer\Flutter\flutter
• Framework revision 3ea4d06340 (5 weeks ago), 2018-02-22 11:12:39 -0800
• Engine revision ead227f118
• Dart version 2.0.0-dev.28.0.flutter-0b4f01f759

[√] Android toolchain - develop for Android devices (Android SDK 27.0.0)
• Android SDK at C:\Android
• Android NDK at C:\Android\ndk-bundle
• Platform android-P, build-tools 27.0.0
• ANDROID_HOME = C:\Android
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[√] Android Studio (version 3.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2017.3)
• Flutter plugin version 22.2.2
• Dart plugin version 173.4548.30

[√] VS Code (version 1.21.1)
• VS Code at C:\Program Files\Microsoft VS Code
• Dart Code extension version 2.10.0

[√] Connected devices (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 6.0 (API 23) (emulator)

• No issues found!

调试 key

因为这可能会成为教程,所以我将包含一个简单的命令来获取调试 key (在 Windows 上):cd %JAVA_HOME%\bin & keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore

长话短说

Cloud_firestore 在 0.3.x 版本中崩溃,您如何解决这个问题?

最佳答案

当我与一些合作开发者讨论这个问题时,我发现他们找到了一个可行的设置:将 cloud_firestore 的版本更改为低于 0.3.00.2.9 例如。根据this recently published issue ,问题是 flutter 的“稳定”版本没有 cloud_firestore 使用的某些功能,这会导致您在编译时看到的错误。如果需要,我会稍后更新问题以反射(reflect)此答案。

关于android - 将 Cloud Firestore 和 Firebase 添加到 Flutter 项目 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49521869/

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