react native material design fails in AVD

I'm just starting out with React Native and Material Design.

I made a very simple app using the react-native init template.

I also did the following:

  • ran npm install --save react-native-material-design react-native-vector-icons
  • added apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" to ./android/app/build.gradle
  • copied the MaterialIcons.ttf from the react-native-material-design module to ./android/app/src/main/assets/fonts

This is my very simple app:

import React, {Component} from 'react';
import {Alert, Image, StyleSheet, Text, View} from 'react-native';
import {Button, Card} from 'react-native-material-design';

export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
        <View style={styles.brandBar}>
          <Text style={styles.brand}>trackr</Text>
        </View>
        <Card>
          <Card.Media image={<Image source="require('./assets/kitten.jpg')" />} overlay />
          <Card.Body>
            <Text>Lorem ipsum dolor sit amet...</Text>
          </Card.Body>
          <Card.Actions position="right">
            <Button value="ACTION" onPress={()=>Alert.alert('clicked!')} />
          </Card.Actions>
        </Card>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    flexDirection: 'row',
    justifyContent: 'center',
    backgroundColor: '#F5FCFF',
  },
  brandBar: {
    flex: 1,
    backgroundColor: 'lightblue',
    padding: 10,
  },
  brand: {
    fontSize: 24,
    color: 'white',
  },
});

When I run this app using react-native run-android I get the following error in my AVD:

The development server returned response error code: 500

URL: http://10.0.2.2:8081/index.delta?platform=android&dev=true&minify=false&deltaBundleId=99a973396aff78b3

Body:
{"type":"TransformError","lineNumber":60,"column":16,"filename":"node_modules/react-native-material-design/node_modules/react-native-vector-icons/lib/icon-button.js","errors":[{"description":"SyntaxError: /home/brian/gitrepos/brianemilius/trackrNative/node_modules/react-native/node_modules/react-native-material-design/node_modules/react-native-vector-icons/lib/icon-button.js: A trailing comma is not permitted after the rest element (60:16)\n\n  58 |         iconStyle,\n  59 |         children,\n> 60 |         ...props,\n     |                 ^\n  61 |       } = this.props;\n  62 | \n  63 |       let iconProps = pick(props, Object.keys(Text.propTypes), 'style', 'name', 'size', 'color');","filename":"node_modules/react-native-material-design/node_modules/react-native-vector-icons/lib/icon-button.js","lineNumber":60}],"name":"SyntaxError","message":"SyntaxError: /home/brian/gitrepos/brianemilius/trackrNative/node_modules/react-native/node_modules/react-native-material-design/node_modules/react-native-vector-icons/lib/icon-button.js: A trailing comma is not permitted after the rest element (60:16)\n\n  58 |         iconStyle,\n  59 |         children,\n> 60 |         ...props,\n     |                 ^\n  61 |       } = this.props;\n  62 | \n  63 |       let iconProps = pick(props, Object.keys(Text.propTypes), 'style', 'name', 'size', 'color');","stack":"SyntaxError: /home/brian/gitrepos/brianemilius/trackrNative/node_modules/react-native/node_modules/react-native-material-design/node_modules/react-native-vector-icons/lib/icon-button.js: A trailing comma is not permitted after the rest element (60:16)\n\n  58 |         iconStyle,\n  59 |         children,\n> 60 |         ...props,\n     |                 ^\n  61 |       } = this.props;\n  62 | \n  63 |       let iconProps = pick(props, Object.keys(Text.propTypes), 'style', 'name', 'size', 'color');\n    at _class.raise (/home/brian/gitrepos/brianemilius/trackrNative/node_modules/@babel/parser/lib/index.js:3939:15)\n    at _class.unexpected (/home/brian/gitrepos/brianemilius/trackrNative/node_modules/@babel/parser/lib/index.js:5248:16)\n    at _class.parseObj (/home/brian/gitrepos/brianemilius/trackrNative/node_modules/@babel/parser/lib/index.js:6689:18)\n    at _class.parseBindingAtom (/home/brian/gitrepos/brianemilius/trackrNative/node_modules/@babel/parser/lib/index.js:5505:21)\n    at _class.parseVarHead (/home/brian/gitrepos/brianemilius/trackrNative/node_modules/@babel/parser/lib/index.js:7797:20)\n    at _class.parseVarHead (/home/brian/gitrepos/brianemilius/trackrNative/node_modules/@babel/parser/lib/index.js:2517:42)\n    at _class.parseVar (/home/brian/gitrepos/brianemilius/trackrNative/node_modules/@babel/parser/lib/index.js:7773:12)\n    at _class.parseVarStatement (/home/brian/gitrepos/brianemilius/trackrNative/node_modules/@babel/parser/lib/index.js:7606:10)\n    at _class.parseStatementContent (/home/brian/gitrepos/brianemilius/trackrNative/node_modules/@babel/parser/lib/index.js:7203:21)\n    at _class.parseStatement (/home/brian/gitrepos/brianemilius/trackrNative/node_modules/@babel/parser/lib/index.js:7153:17)"}
processBundleResult
    BundleDownloader.java:296
access$200
    BundleDownloader.java:37
onResponse
    BundleDownloader.java:174
execute
    RealCall.java:153
run
    NamedRunnable.java:32
runWorker
    ThreadPoolExecutor.java:1162
run
    ThreadPoolExecutor.java:636
run
    Thread.java:764