Flutter firebase auth UI 有一些问题,因为 firebase_auth 版本不匹配问题
我的 flutter 应用程序崩溃,无法识别问题,在 android studio 中打开后,我遇到了问题,问题就在这里
Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.mycom.mypetshop. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(com.google.firebase:firebase-common@@16.0.2:240)
at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source)
at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.<init>(FirebaseAuthPlugin.java:54)
at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.registerWith(FirebaseAuthPlugin.java:47)
at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(GeneratedPluginRegistrant.java:20)
at com.vyapari2online.mypetshop.MainActivity.onCreate(MainActivity.java:11)
at android.app.Activity.performCreate(Activity.java:5990)
如何解决这个问题?
在项目“app”中,已解析的 Google Play 服务库依赖项依赖于另一个确切版本(例如“[15.0.1]”,但未解析为该版本。库表现出的行为将是未知的。
依赖失败:com.google.android.gms:play-services-flags:15.0.1 -> com.google.android.gms:play-services-basement@[ 15.0.1],但 play-services-basement 版本是16.0.1。
以下依赖项是项目依赖项,它们是直接的或具有导致问题的艺术 ifact 的传递依赖项。-- 项目“app”依赖于项目“firebase_auth”,后者依赖于 com.google.firebase:[email protected] -- 项目“app”依赖于项目“firebase_core”,后者依赖于 com.google.firebase:firebase [email protected] -- 项目'app'依赖于依赖于com.google.firebase:[email protected]的项目'cloud_firestore' - 项目'app'依赖于依赖于com的项目'google_sign_in' .google.android.gms:[email protected]
对于扩展调试信息,从命令行使用 ./gradlew --info :app:assembleDebug 执行 Gradle 以查看工件的依赖路径。此错误消息来自 google-services Gradle 插件,在 https://github.com/google/play-services-plugins 报告问题并通过将“googleServices { disableVersionCheck = false }”添加到您的 b uild.gradle 文件来禁用。
#flutter_firebase_ui 有很多问题#google 请雇用我,我可以帮助您的开发人员
对于 gradle 问题,请确保您的 Android SDK 和 Firebase/Firestore 插件兼容版本兼容。以下是对我有用的内容:
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
classpath 'com.google.firebase:firebase-auth:16.0.5'
}
在模块/应用程序中build.gradle
:
android {
compileSdkVersion 27
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.timeswap.timeswapcore"
minSdkVersion 17
targetSdkVersion 27
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
...
}
具体而言,要注意compileSdkVersion
,targetSdkVersion
以及版本号google-services
和firebase_auth
。摆弄这些数字最终让我找到了这个配置,它可能会帮助您找到合适的配置。
至于应用程序初始化,我有这个
Firestore firestore = Firestore.instance;
firestore.settings(timestampsInSnapshotsEnabled: true);
在 my_initFirestore
之后立即调用super.initState()
@override
void initState() {
super.initState();
_initFirestore();
checkCurrentUser();
}
Firebase(以及我使用过的所有其他 Firebase 插件)的初始化方式类似,但使用firebase_core:
依赖项而不是cloud_firestore:
in pubspec.yaml
。
例如,来自flutter/plugins/packages/firebase_storage
GitHub 存储库:
void main() async {
final FirebaseApp app = await FirebaseApp.configure(
name: 'test',
options: FirebaseOptions(
googleAppID: Platform.isIOS
? '1:159623150305:ios:4a213ef3dbd8997b'
: '1:159623150305:android:ef48439a0cc0263d',
gcmSenderID: '159623150305',
apiKey: 'AIzaSyChk3KEG7QYrs4kQPLP1tjJNxBTbfCAdgg',
projectID: 'flutter-firebase-plugins',
),
);
final FirebaseStorage storage = FirebaseStorage(
app: app, storageBucket: 'gs://flutter-firebase-plugins.appspot.com');
runApp(MyApp(storage: storage));
}
您还可以使用这篇 Medium 帖子作为开始使用 flutter Firebase Auth UI 的指南。
对于未来的参考,您可以导航到flutter/plugins/packages/{package name}
在Github上,找到main.dart
里面的examples/lib
一个演示。也可以随意利用它来解决您的依赖问题!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句