React Native 安卓配置(Mac)

安卓环境配置

  1. https://facebook.github.io/react-native/docs/[react native version]/getting-started
    请在官网选择 Building Projects with Native Code
    Development OS: Mac
    Target OS: Android
    跟着官网步骤来, 注意选择对应的 react-native 版本

  2. 把项目的 android 文件夹拖进 Android Studio,让 Android Studio 自动下载相关环境依赖

  3. 如果 Android Studio Download gradle 太慢, 将项目根目录下的文件 build.gradle 替换 jcenter() 为:
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    // ...
    buildscript {
    // ...
    repositories {
    // ...
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    }
    }
    // ...
    allprojects {
    // ...
    repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    }
    }
    >> 有些build:gradle版本较新,如3.1.1,除了从 jcenter() 加载外,还需要 google()
    
  4. 根据 Android Studio 提示 Install 缺少的依赖

  5. 如果出现Please configure Android SDK

    则点击下图按钮:

  6. 如果 运行 react-native run-android 出现

    1
    2
    3
    4
    FAILURE: Build failed with an exception.
    * What went wrong:
    A problem occurred configuring project ':app'.
    > java.lang.NullPointerException (no error message)

可能的原因react-native 版本跟 Java 版本没对应,(如 react-native 0.51.0 和 Java 10) 可以通过更改 Java_Home 解决的

1
2
/usr/libexec/java_home -V
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

通过 react-native run-android 跑项目

  1. 安装安卓 adb:brew cask install android-platform-tools
  2. 连接安卓手机, adb devices 查看是否成功(记得开启调试模式哦)
  3. 转发静态文件 adb reverse tcp:8081 tcp:8081
  4. react-native run-android

通过 Android Studio 跑项目

  1. 转发静态文件 adb reverse tcp:8081 tcp:8081
  2. 1-4 点击后,以后直接点5

多台安卓设备

当同时连接多台安卓手机或安卓虚拟机时,运行 adb reverse tcp:8081 tcp:8081, 会出现 error: more than one device/emulator

解决步骤:

  1. adb devices 查看希望 reverse 的设备id
  2. adb -s [id] reverse tcp:8081 tcp:8081