【问题标题】:Exception in HostObject::get(propName:RNfirebase)HostObject::get(propName:RNfirebase) 中的异常
【发布时间】:2019-11-10 17:23:16
【问题描述】:

我正在学习如何使用 react-native(Android) 实现 Firestore。然后,我找到了“react-native-firebase”并陷入了这个异常。

Error:Exception in
HostObject::get(propName:RNFirebase):
java.lang.NoClassDefFoundError: Failed resolution 
of: Lcom/google/firebase/FirebaseApp;


我已经在我的 gradle 中设置了 firebase (ref.https://firebase.google.com/docs/android/setup/?authuser=0)

Firebase 数据库的规则

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

这是我的学习代码 (ref.https://www.youtube.com/watch?v=_GOI7h9ojr8)

import React,{ Component } from 'react';
import { 
    Flatlist, 
    Text,
    TextInput,
    TouchableHighlight, 
    Image,
    View } from 'react-native';
import firebase from 'react-native-firebase';

export default class test extends Component {
    constructor(props){
        super(props);
        this.state = ({
            todoTask: [],
            newTaskName: '',
            loading: false
        });
        this.ref = firebase.firestore().collection('todo');
    }
    onPressAdd = () => {
        this.ref.add({
            taskName: this.state.newTaskName
        }).then((data) => {
            console.log('added data = ${data}');
            this.setState({
                newTaskName: '',
                loading: true
            });
        }).catch((error) => {
            console.log('error adding firestore document = ${error}');
            this.setState({
                newTaskName: '',
                loading: true
            });
        });
    }
    render(){
        return (
            <View style={{flex: 1}}>
                <Text>Hello</Text>
                <TextInput style={{
                    height: 40,
                    width: 200,
                    margin: 10,
                    padding: 10,
                    borderColor: 'white',
                    borderWidth: 1,
                    color: 'white'
                }}
                    keyboardType='default'
                    placeholderTextColor='white'
                    placeholder='Enter task name'
                    onChangeText={
                        (text) => {
                            this.setState({ newTaskName: text});
                        }
                    }
                >
                </TextInput>
                <TouchableHighlight
                    style={{ marginRight: 10 }}
                    underlayColor='tomato'
                    onPress={this.onPressAdd}>
                    <Image
                        style={{ width: 35, height: 35 }}
                        source={require('./icon-add.png')}
                    >
                    </Image>
                </TouchableHighlight>
                <Flatlist
                    data={this.state.todoTask}
                    renderItem={({item, index}) => {
                        return(
                            <Text>{item.taskName}</Text>
                        );
                    }}
                >
                </Flatlist>
            </View>
        );
    }
}

你能解释一下为什么会这样吗?非常感谢。

【问题讨论】:

    标签: firebase react-native


    【解决方案1】:
    You installed 'react-native-firebase' package so kindly note to remove(uninstall) it.
    According to the docs:
    
    First you need to install firebase package:
    
    npm install --save firebase
    Then import it using firebase/app:
    
    // Firebase App (the core Firebase SDK) is always required and
    // must be listed before other Firebase SDKs
    import * as firebase from "firebase/app";
    

    【讨论】:

      【解决方案2】:

      在我的情况下,还要确保您在 android/app/build.gradle 中使用了您正在使用的库 firebase-core

       implementation "com.google.firebase:firebase-core:17.4.3"
      

      【讨论】:

        猜你喜欢
        • 2019-08-09
        • 2017-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-03
        • 2011-08-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多