有人问我为啥很久不更新博客。。我只能说在学校宿舍真的没有学习的环境。。基本上在宿舍里面很颓废。。不过要毕业找工作了,我要渐渐把这个心态调整过来,就从react-native第一篇博客开始。话说RN也出来很久了 每次我研究都比别人晚一步

不过没关系,意识到了就不算晚。环境搭建了几个小时,中间很正常的遇到了一些错误,于是记录下来过程和问题的解决方法,分享给大家。

转载请注明出处:http://blog.csdn.net/wingichoy/article/details/51791076

为什么要研究React Native

因为总感觉以后移动端很少有人做APP,一做就是两种平台的,成本太高。迟早药丸。 所以居安思危,早点研究跨平台的东西,由于是js写的,以后APP死了还能轻易转前端,何乐而不为呢。

啥叫React Native

这个东东是FaceBook研发的, 他的主要功能就是用js来编写各个平台的APP,他们的主旨是:

仅需学习一次,编写任何平台。(Learn once, write anywhere)

看起来很诱惑,是不是,快来跟我一起学习如何搭建环境。这里给出的是windows下的Android版本,其他系统平台应该大同小异,就不再介绍。

工欲善其事必先利其器

再安装开发环境之前,介绍一款取代win下cmd.exe利器:Cmder。

他为windows提供了模拟Linux命令的环境,怎么说呢,就俩字,很爽!



点击这里下载Cmder

准备环境

前提你需要有一个搭建好的Android Studio环境,这里想必就不用多说了。

需要安装的有:

  1. python 2(不可以是3)
  2. Node.js
  3. react-native-cli(用于RN项目的创建,初始化,更新等)

python&node

首先去官网下载python2 以及 Node.js:



安装之后 ,在cmder里测试是否安装正确:

键入python 以及 node

如果正常 则如下图:

react-native-cli

在命令行键入

npm install -g react-native-cli

安装react-native-cli。

环境变量(很重要)

除了java的环境变量外,还要添加android的环境变量:

ANDROID_HOME 以及C:\Users\Administrator\AppData\Local\Android\sdk

初始化项目

以上环境安装完毕之后,就可以初始化项目了。

在cmder键入

react-native init MyProjct

来初始化项目



这里会从网上啦一些文件下来,需要耐心等待。。

初始化完毕之后,键入以下命令来开启服务器。

cd MyProject
react-native start



如图,正常开启服务器的界面。

接下来,键入命令,让项目跑起来

react-native run-android

漂亮! 我们第一个RN程序已经跑起来了。当然,如果顺利的话,你会看到以上界面。。但是过程中往往不那么顺利。

遇到的错误总结

1. 在run-android 报错

(1)no connected devices

这里是没有找到你的设备,只需要用adb连接以下就可以了

    adb connect 127.0.0.1:62001(输入你自己模拟器的端口)

(2)

FAILURE: Build failed with an exception.

* What went wrong:

A problem occurred configuring project ‘:app’.

failed to find Build Tools revision 23.0.1

这个是说 找不到Build Tools 23.0.1 所以我们打开Android Studio的SDK Manager ,找到如下图的下载即可

2.在run-android的时候下载gradle很慢



这个是比较通用的问题。。。 看他下载的版本,我们用迅雷去官网下一个,放到C:\Users\Administrator.gradle\wrapper\dists文件夹下,即可。

3.运行APP以后红屏

报错java.lang.RuntimeException:Could not connect to development server.如图



那么按照上面的提示,进行如下处理:

1、确保你的packager 服务器在运行。即,键入了如下命令

react-native start 

2、确保你的设备连接到了电脑。

adb connect host:prot

3、尝试如下命令

adb reverse tcp:8081 tcp:8081

4、在开发选项里设置调试IP,注意是开发选项,并不是手机的开发者选项(害我找了半个小时)。。 此时应该,点击菜单键,其中有个Dev Setting 设置主机IP和端口即可解决。

到此,我们踏出了第一步。未来正向我们招手,加油。

参考文章:开始使用React Native

如果你喜欢我的博客,欢迎评论和关注!谢谢 欢迎加入React Native讨论群 : 120663591

下一篇:React Native入门教程(笔记) 2 – 基本组件使用及样式(

React Native入门教程 1 -- 开发环境搭建的更多相关文章

  1. Unix/Linux环境C编程入门教程(13) 开发环境搭建VMware软件安装

    VMware(中文名威睿",纽约证券交易所"代码:VMW) 虚拟机软件,是全球桌面到数据中心虚拟化解决方案的领导厂商.全球不同规模的客户依靠VMware来降低成本和运营费用.确保业 ...

  2. Unix/Linux环境C编程入门教程(11) 开发环境搭建VMWare虚拟安装之虚拟化检测

    常开启虚拟化技术.如果你的主板是最新的,它在冷启动后能够检测到配置变化.每当我改变我的主板上的VT设置,它都会自动推迟下次重新启动生效.如何确定VT已经开启或禁用? 如图表示成功开启了VT. F10 ...

  3. React Native入门教程2 -- 基本组件使用及样式

    在上一篇文章中,我们学会了如何搭建React Native的环境(React Native入门教程(笔记) 1 – 开发环境搭建),不知道你们是否搭建好了呢,如果还没有,那么快动起小手,来体验RN带给 ...

  4. React Native入门教程 3 -- Flex布局

    上一篇文章中介绍了基本组件的使用 React Native入门教程(笔记) 2 – 基本组件使用及样式 本节内容将继续沿用facebook官方例子介绍如何使用Flexbox布局把界面设计的多样化. 转 ...

  5. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  6. 【强烈推荐,超详细,实操零失误】node.js安装 + npm安装教程 + Vue开发环境搭建

    node.js安装 + npm安装教程 + Vue开发环境搭建 [强烈推荐,超详细,实操零失误] 原博客园地址:https://www.cnblogs.com/goldlong/p/8027997.h ...

  7. 勤拂拭软件 java web 开发教程(1) - 开发环境搭建

    勤拂拭软件系列教程 之 Java Web开发之旅(1) Java Web开发环境搭建 1 前言 工作过程中,遇到不少朋友想要学习jsp开发,然而第一步都迈不出,连一个基本的环境都没有,试问,如何能够继 ...

  8. java web 开发教程(1) - 开发环境搭建

    勤拂拭软件系列教程 之 Java Web开发之旅(1) Java Web开发环境搭建 1 前言 工作过程中,遇到不少朋友想要学习jsp开发,然而第一步都迈不出,连一个基本的环境都没有,试问,如何能够继 ...

  9. [Java 教程 02] 开发环境搭建

    在上一篇文章对Java做了一个简单介绍之后,我想大家都已经对她有一个初步的认识了吧!那踏入正式学习使用Java之前,我们有一步是不得不做的,它是什么呢?没有错,就是我们本篇文章的标题所说,搭建Java ...

随机推荐

  1. 解决Spring Boot 使用RedisTemplate 存储键值出现乱码 \xac\xed\x00\x05t\x00

    spring-data-redis的RedisTemplate<K, V>模板类在操作redis时默认使用JdkSerializationRedisSerializer来进行序列化解决方法 ...

  2. Servlet-----response.getWriter().write()与out.print()的区别

    50313  1.首先介绍write()和print()方法的区别:  (1).write():仅支持输出字符类型数据,字符.字符数组.字符串等  (2).print():可以将各种类型(包括Obje ...

  3. hadoop hdfs 高可用

    单点故障: 如果某一个节点或服务出了问题,导致服务不可用 单点故障解决方式: 1.给容易出故障的地方安排备份 2.一主一备,要求同一时刻只能有一个对外提供服务 3.当active挂掉之后,standb ...

  4. 78. Subsets(中等,集合的子集,经典问题 DFS)

    Given a set of distinct integers, nums, return all possible subsets. Note: The solution set must not ...

  5. 如何找回Oracle所有用户丢失的密码

    如何找回Oracle所有用户丢失的密码: 方法一:1.以操作系统验证的方式登录 SQL>conn / as sysdba; 2.查看系统中的用户名. SQL>select USERNAME ...

  6. range和xrange的区别详解

    两种用法介绍如下:1.range([start], stop[, step])返回等差数列.构建等差数列,起点是start,终点是stop,但不包含stop,公差是step.start和step是可选 ...

  7. centos7下git安装

    一.git安装1.查看系统是否已经安装git     git --version 2.CentOS7 yum 安装git     yum install git 3.安装成功

  8. 用python爬了自己的微信,原来好友都是这样的!

    偶然了解到Python里的itchat包,它已经完成了wechat的个人账号API接口,使爬取个人微信信息更加方便.鉴于自己很早之前就想知道诸如自己微信好友性别比例都来自哪个城市之类的问题,于是乎玩心 ...

  9. PHP 5 Filesystem 函数

    PHP Filesystem 简介 Filesystem 函数允许您访问和操作文件系统. 安装 Filesystem 函数是 PHP 核心的组成部分.无需安装即可使用这些函数. Runtime 配置 ...

  10. Linux 高性能服务器编程——IP协议详解

    1 IP服务特点 IP协议是TCP/IP协议族的动力,它为上层协议提供无状态.无连接.不可靠的服务. 无状态:IP通信双方不同步传输数据的状态信息,因此IP数据包的发送.传输和接收都是无序的.     ...