第一步:安装Java
1.下载JDK,选择适应自己的机型;官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
 
第二步:下载安装Android SDK
1.直接下载SDK Tools,然后通过SDKManager安装react-native运行所需要的环境,注意选择x64还是x86。
国内下载地址:http://androiddevtools.cn/
2.设置SDK:点击右下角configure,打开 SDK Manager,我们需要安装以下项目的最新版本:
Tools/Android SDK Tools
Tools/Android SDK Platform-tools
Tools/Android SDK Build-tools
Android 6.0 (API 23)/SDK Platform
Extras/Android Support Library
Extras/Local Maven repository for Support Libraries
 

第三步:安装node.js,git
 
第四步:安装react-native命令行工具
1.打开命令窗口,输入 npm install -g react-native-cli
 
第五步:创建react-native项目
新建一个文件夹,利用命令控制窗口进入文件夹初始化一个项目:react-native init AwesomeProject
如果你网络不怎么样,这里会耗时相当相当久,甚至经常因为网络的原因下载项目失败!所以react-native中文官网推荐你使用淘宝镜像:$ npm config set registry https://registry.npm.taobao.org
 
第六步:运行packager:
1. cd AwesomeProject
2. npm start
显示下图表示成功
 
第七步: 连接设备或者模拟器 这里推荐设备
再打开一个命令窗口,运行adb devices,如果正确配置了Android SDK环境变量,我们在docs命令控制行中运行应该可以看到下面界面:
  
我们看到列表为空,是因为我们还未连接任何设备。我通过USB接入手机,再运行看看: 

我们可以看到设备号为42048543c...表示已经连接成功。

有时候我这会出现如下问题:

应该是端口号被占用,我这里总被360手机助手占用,一般我都连接成功后退出360手机助手,然后重新npm start之后重复第七步。如若adb安装成功,还是这里出现这个问题的话解决不了就百度一下或者尝试重新插手机。

 
第八步:编译运行Android:
AwesomeProject目录下运行$ react-native run-android,就会构建工程并自动安装到你的模拟器或者设备,(如果关闭了npm start运行窗口就会同时启动用于实现动态代码加载的Node服务)。
第一次运行的时候,会下载gradle文件,该文件下载时间太过于漫长,解决办法如下:
1.打开http://androiddevtools.cn/ 找到gradle-2.4-all.zip这个文件的下载地址:http://pan.baidu.com/s/1c0dcgfe, 将它下载到本地。
2.用编译器打开AwesomeProject文件夹中的android文件中的gradle下的wrapper找到gradle-wrapper.properties文件,将其中的distributionUrl=https://services.gradle.org/distributions/gradle-2.4-all.zip 改为distributionUrl=file:///E:/AwesomeProject/gradle-2.4-all.zip,让它本地离线下载。其中E:/AwesomeProject/gradle-2.4-all.zip为你下载gradle后所保存的地址。
graddle构建过程中会下载很多jar包,如果出现下载失败,多重试几次。 
3.当下在完grandle后一定会报错,如图:

因为本文所用的demo文件中很多版本号过于旧,我们需要改成自己下载的版本号,具体方法如下所示:
a.查看目录,没有23.0.2这个版本

找到AwesomeProject下的android下app修改他的build.gradle文件:
 
将 buildToolsVersion改成自己下载的版本号:
b.把Android项目下的build.gradle中
改成classpath 'com.android.tools.build:gradle:1.2.3';
然后将测试的手机中所有安全软件都关闭,再次运行react-native run-android:
出现上图表示成功。
 
第九步:运行程序
一般会出现如图表示成功

 
当出现程序白屏时,找到并开启AwesomeProject的悬浮窗权限。 设置 --> 其他应用管理 --> 已下载 --> 点击AwesomeProject --> 权限管理 --> 显示悬浮窗 --> 允许 。
如果看到一个大红色的报错,这个报错是因为app获取不到packager生成的jsbundle文件,我们打开AwesomeProject,摇晃一下设备,就会看到下面的界面:

点击Reload JS成功的话就可以看到我们期待已久的welcome to React Native!
 
接下来就可在index.android.js或者index.ios.js文件中进行编辑。

windows下react-native搭建环境的更多相关文章

  1. Windows下React Native开发01 -- Android开发环境搭建

    1.安装jdk 推荐将JDK的bin目录加入系统PATH环境变量(自己百度下怎么配置). 2.安装SDK 直接安装 Android Studio  推荐从AndroidDevTools下载.(也可以直 ...

  2. windows下运行swoole搭建环境

    swoole windows环境搭建 swoole框架是一个很神奇很厉害的框架,它弥补了PHP的本身的一些不足之处.其实swoole确切的说是一个使用C语言编写的PHP扩展,并且这个扩展不能够在win ...

  3. 【RN - 基础】之Windows下搭建React Native开发环境

    前言 React Native由Facebook公司于2015年F8大会上开源,其主张“Learn once, write everywhere”.React Native的核心设计理念是:既拥有Na ...

  4. Mac系统下React Native环境搭建

    这里记录一下在Mac系统下搭建React Native开发环境的过程: 1. 安装HomeBrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.g ...

  5. React Native开发 - 搭建React Native开发环境

    移动开发以前一般都是原生的语言来开发,Android开发是用Java语言,IOS的开发是Object-C或者Swift.那么对于开发一个App,至少需要两套代码.两个团队.对于公司来说,成本还是有的. ...

  6. React Native的环境搭建以及开发的IDE

    (一)前言 前面的课程我们已经对React Native的环境搭建以及开发的IDE做了相关的讲解,今天我们的主要讲解的是应用设备运行(Running)以及调试方法(Debugging).本节的前提条件 ...

  7. React Native iOS环境搭建

    前段时间React Native for Android发布,感觉React Native会越来越多的公司开始研究.使用.所以周六也抽空搭建了iOS的开发环境,以便以后利用空闲的时间能够学习一下. 废 ...

  8. 一、React Native 搭建开发环境(1)(Mac OS - IOS项目篇)

    React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 原因:由于我想在一台电脑上同时开发IOS和Android两个 ...

  9. 搭建React Native开发环境

    搭建React Native开发环境 本文档是Mac下搭建的环境,针对的目标平台不同,以及开发 iOS 和 Android 的不同,环境搭建也有差异. Github地址:https://github. ...

  10. [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)

    MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)   网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...

随机推荐

  1. Luogu P2922 秘密消息

    原题 P2922 [USACO08DEC]秘密消息Secret Message 题目描述 Bessie is leading the cows in an attempt to escape! To ...

  2. 洛谷 2387 NOI2014魔法森林 LCT

    [题解] 我们先把边按照$a$值从小到大排序,并按照这个顺序加边. 如果当前要加入的边连接的两点$u$与$v$已经是连通的,那么直接加入这条边就会出现环.这时我们需要删除这个环中$b$值最大的边.因此 ...

  3. Python 2 声明变量 输入输出 练习

    变量: 代指,用于将具体信息对应到一个值,便于反复使用时方便调用.例如  name = ("斯诺登")   变量声明规则:以字母开头的 字母数字下划线的组合.且不能是python代 ...

  4. static_cast、dynamic_cast reinterpret_cast

    关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的<C++ 的设计和演化>.最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_ ...

  5. kendo grid create

    这种自定义的create中的函数,这个data的行为是在发送到后端之前执行的 //{ // url: "/admgr/AdUserAuthorityAdd", // dataTyp ...

  6. 洛谷——P1031 均分纸牌

    https://www.luogu.org/problem/show?pid=1031#sub 题目描述 有 N 堆纸牌,编号分别为 1,2,…, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以 ...

  7. javascript打开本地应用

    function openShell(){ if(window.ActiveXObject){ var cmd = new ActiveXObject('WScript.Shell') cmd.Run ...

  8. UNP(一):网络编程角度下的TCP、UDP协议

    此博文是学习UNP(UNIX Network Programming)后的读书笔记,供以后自己翻阅回想知识. TCP.UDP概述 在前面<计算机网络与TCP/IP>栏目下已经介绍过一些关于 ...

  9. hibernate实战笔记1---初探

    因为在学习Spring的时候学到有关数据库的章节的时候,提及到了hibernate的集成,可是我对hibernate技术差点儿是一点不了解.仅仅是知道它是一个orm对象映射框架,所以在初探的章节做一下 ...

  10. 在MTK平台里,,函数kal_prompt_trace起什么作用???Kal_prompt_trace的参数有表示什么?

    在MTK平台里,,函数kal_prompt_trace起什么作用???Kal_prompt_trace的参数有表示什么?一直弄不明白,但是很多函数的开头就是这个函数,,而且一般有三个参数-- kal_ ...