Android Studio环境下搭建ReactNative

1.安装Android Studio 首先肯定是 安装Android Studio(包含SDK)(国内推荐) ps:这里有一点要注意,需要为SDK配置环境变量,名称必须为ANDROID_HOME

2.安装Nodo.js(自带npm) 从官网下载node.js的官方4.1版本或更高版本。 安装完成后建议设置npm镜像以加速后面的过程(或使用科学上网工具),也可使用nrm具体参考链接

npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/dist

3.下载并安装Git for Windows。 在安装过程中,请务必记得勾选Run Git from Windows Command Prompt,这样会把Git的可执行程序加入到PATH环境变量中,这样其他程序才能在命令行中正确调用Git

4.安装genymotion(使用Android实体机调试的可以跳过此步骤) Android Studio自带的AVD速度实在不敢恭维,为了速度,安装genymotion 这个Android虚拟机,需注册,安装完成后,进入 genymotion 新建虚拟机即可。

下载genymotion

5.安装C++环境 推荐从itellyou下载并安装Visual Studio 2013或2015。也可选择Windows SDK、cygwin或mingw等其他C++环境。编译node.js的C++模块时需要用到。

6.安装Python 从官网下载并安装python 2.7.x

7.安装react-native命令行工具

npm install -g react-native-cli

8.创建react-native项目

react-native init RNTest

9.运行packager(服务端) 进入项目根目录运行

react-native start

npm start

10.安卓运行(参考ReactNative中文社区) 保持packager开启,另外打开一个命令行窗口,然后在工程目录下运行

react-native run-android

首次运行需要等待数分钟并从网上下载gradle依赖。 运行完毕后可以在模拟器或真机上看到应用自动启动了。 如果gradle依赖下载出现报错,请多试几次,或者设置VPN加速。 如果apk安装运 行出现报错,请检查上文中安装SDK的环节里所有依赖是否都已装全,platform-tools是否已经设到了PATH环境变量中,运行adb devices能否看到设备。 至此,应该能看到APP运行,并报错 Unable to download JS bundle

摇晃设备或按Menu键可以打开调试菜单,点击Dev Settings,选Debug server host for device,输入你的正在运行packager的那台电脑的局域网IP加:8081(同时要保证手机和电脑在同一网段,且没有防火墙阻拦),再按back键返回,再按Menu键,在调试菜单中选择Reload JS,就应该可以看到运行的结果了。

配置服务器

如果真实设备白屏但没有弹出任何报错,可以在安全中心里看看是不是应用的“悬浮窗”的权限被禁止了。

11.遇到的坑(耽搁我一个通宵!!!) 在第9步中我们发现命令行窗口可以发现为该服务分配了8081端口,我们可以通过浏览器访问http://localhost:8081/index.android.bundle?platform=android查看返回JS是否正确。 不过一直.babelrc.stage 报错

解决方案就是去

RNTest\node_modules\react-deep-force-update

删掉.babelrc

12.日常环境开发配置(Android Studio + WebStorm) 走到这一步,可以关闭所有的窗口了

WebStorm配置

WebStorm配置

咱们用的是npm

照着配置一下,其实和第9步的一样

完成,运行

Android Studio

ps:Android Studio无需配置,只需import,不过import时候注意目录,是在ReactNative项目根目录的android目录下,否则Android Studio无法编译调试

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏古时的风筝

django开发个人简易Blog—nginx+uwsgin+django1.6+mysql 部署到CentOS6.5

前面说完了此项目的创建及数据模型设计的过程。如果未看过,可以到这里查看,并且项目源码已经放大到github上,可以去这里下载。 代码也已经部署到sina sea...

2879
来自专栏用户2442861的专栏

git以及github的使用(1)

http://my.oschina.net/bxxfighting/blog/378196

581
来自专栏SDNLAB

OpenStack基于修改ip和配置文件的多节点部署

本文主要是提供一种新的思路。OpenStack的liberty版本比Juno更加容易部署,也使用了Linux bridge的方式,使得网络的问题进一步的减少。 ...

3578
来自专栏SpringBoot 核心技术

第十二章:SpringBoot使用LogBack作为日志组件

1604
来自专栏木头编程 - moTzxx

WDCP 初次见面/打个招呼

961
来自专栏代码散人

利用XCode Targets创建多scheme的iOS项目

在我们的开发iOS的时候,通常会遇到一个项目打包成多个环境的问题,也会遇到一套代码打包成多个项目的问题,最常用的做法是写一个配置文件,在打包的时候修改一下配置文...

1164
来自专栏张伟博客

如何使用 Git 和 GitHub 来管理自己的代码

    点击右上角加号箭头,在弹出的菜单中选择 "New repository" 选项进行仓库配置。

1282
来自专栏PHP在线

HTTP/2 服务器推送(Server Push)

HTTP/2 协议的主要目的是提高网页性能。 头信息(header)原来是直接传输文本,现在是压缩后传输。原来是同一个 TCP 连接里面,上一个回应(respo...

3526
来自专栏前端大白专栏

使用dva脚手架中使用redux-sage感受

2184
来自专栏有困难要上,没有困难创造困难也要上!

Webpack2入门

3027

扫码关注云+社区