应用程序在添加了flutter firebase auth ui后崩溃了

问题描述 投票:0回答:3

Flutter firebase auth UI有一些问题,因为firebase_auth版本错过匹配问题

我的扑腾应用程序崩溃,无法识别问题,在Android工作室打开后,我得到了问题,它在这里

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。

以下依赖项是直接的项目依赖项,或者具有传递依赖项,这些依赖项导致与问题相关的艺术问题。 - 项目'app'取决于项目'firebase_auth',它取决于com.google.firebase:[email protected] - 项目'app'取决于项目'firebase_core',它取决于com.google.firebase:firebase [email protected] - 项目'app'取决于项目'cloud_firestore',它取决于com.google.firebase:[email protected] - 项目'app'取决于项目'google_sign_in',这取决于com .google.android.gms:[email protected]

对于扩展调试信息,请使用./gradlew --info:app:assembleDebug从命令行执行Gradle,以查看工件的dep endency路径。此错误消息来自google-services Gradle插件,报告问题位于https:// github.com/google/play-services-plugins并通过将“googleServices {disableVersionCheck = false}”添加到您的b uild.gradle文件来禁用。

#flutter_firebase_ui有很多问题#google请雇用我,我可以帮助你的开发者

flutter firebaseui flutter-dependencies
3个回答
1
投票

Dependency Configuration

对于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'
}

在模块/ app 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"
    }

...
}

具体来说,请注意compileSdkVersiontargetSdkVersion以及google-servicesfirebase_auth的版本号。摆弄这些数字最终导致我进入这个配置,它可以帮助您找到合适的配置。

Firebase or Firestore Initialization

至于App初始化,我有这个

Firestore firestore = Firestore.instance;
firestore.settings(timestampsInSnapshotsEnabled: true);

在我的_initFirestore,在super.initState()之后被称为

@override
void initState() {
    super.initState();
    _initFirestore();
    checkCurrentUser();
}

Firebase(以及我使用的所有其他Firebase插件)的初始化类似,但firebase_core:依赖于cloud_firestore:而不是pubspec.yaml

例如,来自flutter/plugins/packages/firebase_storage GitHub repo

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));
}

您还可以使用this Medium post作为指导,开始使用扑腾的Firebase Auth UI。

为了将来参考,您可以导航到Github上的flutter/plugins/packages/{package name}并在main.dart中找到examples/lib进行演示。随意利用它来解决您的依赖问题!


0
投票

您需要在使用之前初始化FirebaseApp。您可以将其添加到onCreate方法中。

@Override
public void onCreate() {
    super.onCreate();
    FirebaseApp.initializeApp(this);
}

还要确保你的build.gradle具有依赖性

dependencies {
    ....
}

apply plugin: 'com.google.gms.google-services'

0
投票

我也面临同样的问题,并通过在AndroidManifest.xml中添加Facebook应用程序ID解决了尝试使用Android studio运行Android应用程序,您将收到错误消息

© www.soinside.com 2019 - 2024. All rights reserved.