简体   繁体   English

Flutter:Cloud Firestore Firestore 组件不存在

[英]Flutter: Cloud Firestore Firestore component is not present

So, there is a few question like this but they are old and all suggest to update firebase-firestore depedencie to 18.0.2 but here in Nov 2019, I already using 23.3.0 .所以,有几个这样的问题,但它们都是旧的,并且都建议将 firebase firebase-firestore depedencie 更新到18.0.2但在 2019 年 11 月,我已经在使用23.3.0

I have migrated to AndroidX and other firebase plugins like firebase_auth are working fine.我已经迁移到 AndroidX 并且 firebase_auth 等其他firebase_auth插件工作正常。 Version cloud_firestore: ^0.12.10+2 (latest)版本cloud_firestore: ^0.12.10+2 (latest)

Error:错误:

E/MethodChannel#plugins.flutter.io/cloud_firestore( 9204):  at android.app.ActivityThread.main(ActivityThread.java:7165)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 9204):  at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 9204):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
E/MethodChannel#plugins.flutter.io/cloud_firestore( 9204):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:888)
E/flutter ( 9204): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(error, Firestore component is not present., null)

build.gradle (app level): build.gradle(应用级别):

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 28

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.ved.medcash"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
    implementation 'com.google.firebase:firebase-auth:19.2.0'
    implementation 'com.google.firebase:firebase-firestore:21.3.0'
}
apply plugin: 'com.google.gms.google-services'

code:代码:

FirebaseAuth auth = FirebaseAuth.instance;

authSucess() async {
    QuerySnapshot checkData = await server
        .collection('user')
        .where('number', isEqualTo: phoneNumber)
        .getDocuments();

    if (checkData.documents == null || checkData.documents.isEmpty) {

      Navigator.of(context).push(
          MaterialPageRoute(builder: (BuildContext context) => Profile()));
      server.collection('user').add({'number': phoneNumber});
    } else {
      Navigator.of(context).push(
          MaterialPageRoute(builder: (BuildContext context) => MyHomePage()));
    }
  }

duplicate for this question 这个问题重复

try to exclude试图排除

group: 'com.google.guava', module: 'guava-jdk5'组:'com.google.guava',模块:'guava-jdk5'

like this像这样

buildscript {
    repositories {
            google()
            jcenter()
        }

    dependencies {
            classpath 'com.android.tools.build:gradle:3.3.0'
            classpath ('com.google.gms:google-services:3.2.1') {
                exclude group: 'com.google.guava', module: 'guava-jdk5'
       }
    }
}

for more explanation show link added above as duplicate有关更多说明,请将上面添加的链接显示为重复

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM