title: Exception in HostObject::get(propName:RNfirebase)
body: <p>I am learning how to implement Firestore with react-native(Android). Then, I found 'react-native-firebase' and stuck in this exception.</p>
  
  <pre><code>Error:Exception in
  HostObject::get(propName:RNFirebase):
  java.lang.NoClassDefFoundError: Failed resolution 
  of: Lcom/google/firebase/FirebaseApp;
  </code></pre>
  
  <p><br>I already setup firebase in my gradle (ref.<a href="https://firebase.google.com/docs/android/setup/?authuser=0" rel="noreferrer">https://firebase.google.com/docs/android/setup/?authuser=0</a>)
  <br><br>
  Firebase database's rule</p>
  
  <pre><code>rules_version = '2';
  service cloud.firestore {
    match /databases/{database}/documents {
      match /{document=**} {
        allow read, write;
      }
    }
  }
  </code></pre>
  
  <p>and this is my learning code (ref.<a href="https://www.youtube.com/watch?v=_GOI7h9ojr8" rel="noreferrer">https://www.youtube.com/watch?v=_GOI7h9ojr8</a>)</p>
  
  <pre><code>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 = () =&gt; {
          this.ref.add({
              taskName: this.state.newTaskName
          }).then((data) =&gt; {
              console.log('added data = ${data}');
              this.setState({
                  newTaskName: '',
                  loading: true
              });
          }).catch((error) =&gt; {
              console.log('error adding firestore document = ${error}');
              this.setState({
                  newTaskName: '',
                  loading: true
              });
          });
      }
      render(){
          return (
              &lt;View style={{flex: 1}}&gt;
                  &lt;Text&gt;Hello&lt;/Text&gt;
                  &lt;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) =&gt; {
                              this.setState({ newTaskName: text});
                          }
                      }
                  &gt;
                  &lt;/TextInput&gt;
                  &lt;TouchableHighlight
                      style={{ marginRight: 10 }}
                      underlayColor='tomato'
                      onPress={this.onPressAdd}&gt;
                      &lt;Image
                          style={{ width: 35, height: 35 }}
                          source={require('./icon-add.png')}
                      &gt;
                      &lt;/Image&gt;
                  &lt;/TouchableHighlight&gt;
                  &lt;Flatlist
                      data={this.state.todoTask}
                      renderItem={({item, index}) =&gt; {
                          return(
                              &lt;Text&gt;{item.taskName}&lt;/Text&gt;
                          );
                      }}
                  &gt;
                  &lt;/Flatlist&gt;
              &lt;/View&gt;
          );
      }
  }
  </code></pre>
  
  <p>Can u explain why it happen? Thanks a lot.  </p>