如何停止颤振应用程序中的firebase错误
Posted
技术标签:
【中文标题】如何停止颤振应用程序中的firebase错误【英文标题】:How to stop firebase error in flutter app 【发布时间】:2019-06-19 21:15:27 【问题描述】:我的应用程序没有再次构建,不知道我做错了什么。下面列出了错误消息
C:\flutter\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0+1\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:9: error: package androidx.annotation does not exist
import androidx.annotation.NonNull;
^
C:\flutter\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0+1\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:10: error: package androidx.annotation does not exist
import androidx.annotation.Nullable;
^
C:\flutter\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0+1\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:638: error: cannot find symbol
【问题讨论】:
"寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误以及在问题本身中重现它所需的最短代码。没有明确的问题陈述对其他读者没有用。请参阅:How to create a Minimal, Complete, and Verifiable example." 在这种情况下,我希望它是/包含您的pubspec.yaml
文件。
【参考方案1】:
解决方案
将:implementation 'androidx.annotation:annotation:1.0.1'
添加到 firebase_auth 库的 build.gradle。我用 Android Studio 看了一下 Flutter 的 android 应用结构。
来自 Android Studio
示例代码:
build.graddle(firebase_auth 库):android
compileSdkVersion 28
defaultConfig
minSdkVersion 16
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
lintOptions
disable 'InvalidPackage'
dependencies
api 'com.google.firebase:firebase-auth:16.0.1'
implementation 'androidx.annotation:annotation:1.0.1'
pubspec.yaml(依赖项)
flutter:
sdk: flutter
rxdart: ^0.20.0
firebase_core: ^0.3.0
firebase_analytics: ^2.0.0
firebase_auth: ^0.8.0+1
google_sign_in: ^4.0.0
【讨论】:
非常感谢。但还请补充一点,我们需要使用 Android Studio 将 firebase_auth 插件的 /android 文件夹迁移到 Android X 我不必迁移 android 文件夹,只需将该行添加到库的 build.gradle 文件即可解决问题。【参考方案2】:迁移到 AndroidX 的某些 Google 插件的最新版本中似乎存在错误。我已经创建了一个 pull request 并进行了修复,但可能不会在星期一之前进行审核。
与此同时,一种解决方法是降级到您的 pubspec 中的工作版本。例如。我有firebase_storage: ^1.1.0
,在查看changelog 以识别以前的版本后,我将该行更改为firebase_storage: 1.0.4
。
【讨论】:
【参考方案3】:您需要将项目迁移到 AndroidX。您可以参考此link 来迁移您的项目。另请参阅 firebase_auth here 的更改日志。
【讨论】:
我能够让我的项目在不降级的情况下运行。我确实将我的项目迁移到了 AndroidX,并将 GoogleSignIn 的版本提升到了 3.3.0。【参考方案4】:我在gradle.properties
添加了这个
android.useAndroidX=true
android.enableJetifier=true
它帮助了我
【讨论】:
以上是关于如何停止颤振应用程序中的firebase错误的主要内容,如果未能解决你的问题,请参考以下文章
我想将 firebase 自定义模型集成到颤振应用程序中。我如何整合?