React Native for Android

今天刚开始尝试使用React-Native开发安卓应用,在环境安装和安卓调试时遇到了很多坑,在这总结下。
由于我的Windows上有现成的Android sdk所以直接以Win10为开发平台。


  • 安卓开发环境搭建

    • 建议直接安装android-studio 传送门
    • 设置安卓环境变量:

      • 找到安装好的android-sdk文件夹的目录,新建环境变量,变量名为ANDROID_HOME
      • 设置好后记得重新启动Command Prompt
    • 配置sdk:

      • 以管理员模式打开Android SDK Manager
      • 勾选安装以下三项:
        • Android SDK Build-tools version 23.0.1
        • Android 6.0 (API 23)
        • Local Maven repository for Support Libraries(在老版本中名为Android Support Repository)
  • React-Native环境搭建

    • 最好的教程就是官方教程 传送门
    • 安装node.js,LTS和Stable 都可以传送门
    • 安装 react-native:

      • npm install -g react-native-cli
    • 在工作目录中创建react-native 项目:

      • react-native init AwesomeProject
  • 在设备上运行
    • 运行 react-native run-android
      出现了第一个大坑
:app:installDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Unable to upload some APKs

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 20.863 secs
Could not install the app on the device, see the error above.```

差不多就是这样的报错,build错误
这个问题的具体原因就是React-Native被国产手机玩坏了。。。。
大致解决方案有两种,一种是用android studio直接打开,没有亲测,但是根据gayhub上实测可以成功。
第二种就是,在项目的android/build.gradle第八行把版本号改为1.2.3,亲测可行。

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$projectDir/../../node_modules/react-native/android"
        }
    }
}
  • 修改后终于能成功在手机上运行,然而我的确实一大片空白,什么都没有。。。,仔细查阅文档后发现需要电脑和手机同时处在同一局域网中。
  • 这一次界面上有东西,然而亮瞎眼。。。
  • React Native for Android_第1张图片
  • 这时想起了文档上提到的Windows上的missing
    在执行 react-native run-android 前需要先执行react-native start 然后另开一个命令行执行react-native run-android

  • 紧接着又出现了Unable to download JS bundle的错误,看issues中已经有了解决方法,原来这是5.1的问题执行:

  • adb reverse tcp:8081 tcp:8081
  • 终于搞定,然而坑还是接踵而至。。。。
    React Native for Android_第2张图片
    提示需要摇晃打开dev menu,,然而手机都要扔了都无法打开,检查了下应用权限,一脸懵逼
    更改权限后,成功打开菜单
    React Native for Android_第3张图片

你可能感兴趣的:(Android)