如何停止Flutter应用中的Firebase错误

时间:2019-01-26 03:18:45

标签: flutter firebase-authentication flutter-dependencies

我的应用程序无法再次构建,不知道我做错了什么。错误消息在下面列出

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:错误:包androidx.annotation不存在 导入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:错误:包androidx.annotation不存在 导入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:错误:找不到符号

4 个答案:

答案 0 :(得分:4)

解决方案

添加:implementation 'androidx.annotation:annotation:1.0.1' firebase_auth库 build.gradle 中。我使用Android Studio来查看流畅的android应用程序结构。


从Android Studio

enter image description here

示例代码:

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

答案 1 :(得分:1)

您需要将项目迁移到AndroidX。您可以参考此link来迁移项目。并查看firebase_auth here的更改日志。

答案 2 :(得分:0)

某些Google插件的最新版本似乎存在错误,这些插件已迁移到AndroidX。我做了一个pull request修复程序,但是它可能不会在星期一之前进行审查。

同时,一种解决方法是在pubspec中降级为可用版本。例如。我有firebase_storage: ^1.1.0,在查看changelog以标识以前的版本后,我将该行更改为firebase_storage: 1.0.4

答案 3 :(得分:0)

我已在gradle.properties

中添加了此内容
android.useAndroidX=true
android.enableJetifier=true

对我有帮助