如何在 flutter 应用程序中停止 firebase 错误
How to stop firebase error in flutter app
我的应用程序无法再次构建,不知道我做错了什么。下面列出了错误信息
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
您需要将您的项目迁移到AndroidX。你可以参考这个 link to migrate your project. And also see change logs for firebase_auth here.
迁移到 AndroidX 的某些 Google 插件的最新版本似乎存在错误。我已经 pull request 进行了修复,但可能不会在星期一之前进行审核。
同时,一个解决方法是在你的 pubspec 中降级到一个工作版本。例如。我有 firebase_storage: ^1.1.0
,在查看 changelog 以确定以前的版本后,我将该行更改为 firebase_storage: 1.0.4
。
解决方案
添加:implementation 'androidx.annotation:annotation:1.0.1'
到 firebase_auth 库 的 build.gradle。我使用 Android Studio 来查看 flutter android 应用程序结构。
来自 Android 工作室
示例代码:
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
我在 gradle.properties
中添加了这个
android.useAndroidX=true
android.enableJetifier=true
它帮助了我
我的应用程序无法再次构建,不知道我做错了什么。下面列出了错误信息
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
您需要将您的项目迁移到AndroidX。你可以参考这个 link to migrate your project. And also see change logs for firebase_auth here.
迁移到 AndroidX 的某些 Google 插件的最新版本似乎存在错误。我已经 pull request 进行了修复,但可能不会在星期一之前进行审核。
同时,一个解决方法是在你的 pubspec 中降级到一个工作版本。例如。我有 firebase_storage: ^1.1.0
,在查看 changelog 以确定以前的版本后,我将该行更改为 firebase_storage: 1.0.4
。
解决方案
添加:implementation 'androidx.annotation:annotation:1.0.1'
到 firebase_auth 库 的 build.gradle。我使用 Android Studio 来查看 flutter android 应用程序结构。
来自 Android 工作室
示例代码:
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
我在 gradle.properties
android.useAndroidX=true
android.enableJetifier=true
它帮助了我