有人问我为啥很久不更新博客。。我只能说在学校宿舍真的没有学习的环境。。基本上在宿舍里面很颓废。。不过要毕业找工作了,我要渐渐把这个心态调整过来,就从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. input type="file"指定文件类型为excel

    指定上传类型为excel:加上accept="application/vnd.ms-excel"即可,只兼容chrome跟ff,不兼容ie <input type=" ...

  2. 深入理解Java类加载器(1):Java类加载原理解析

    1 基本信息 每个开发人员对Java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载.Java的类加载机制是技术体系中比较核心的 ...

  3. 算法导轮之B树的学习

    最近学习了算法导轮里B树相关的知识,在此写一篇博客作为总结. 1.引言 B树是为磁盘或其他直接存取的辅助存储设备而设计的一种平衡搜索树.B树类似于红黑树,但它与红黑树最大不同之处在于B树的节点可以拥有 ...

  4. Springboot项目maven多模块拆分

    多模块拆分的必要性 使用Java技术开发的工程项目,无论是数据处理系统还是Web网站,随着项目的不断发展,需求的不断细化与添加,工程项目中的代码越来越多,包结构也越来越复杂这时候工程的进展就会遇到各种 ...

  5. WPF TextBlock 判断 isTextTrimmed 文本是否超出

    WPF TextBlock 设置TextTrimming情况下 判断 isTextTrimmed(Text 文本是否超出 是否出现了省略号) private bool HasTextTrimmed(T ...

  6. 线程停止与volatile

    1.使用标志位停止线程 在Java中希望停止线程,可以使用设置标志位的方法,如下例所示: class SimpleTask implements Runnable{ private boolean s ...

  7. Java面向对象要点

    面向对象: 一.基本概念     类与对象的基本概念:         1.void类型是不需要返回值的,其他类型全部都需要返回值.             public  void  tell(){ ...

  8. Spark核心类:SQLContext和DataFrame

    http://blog.csdn.net/pipisorry/article/details/53320669 pyspark.sql.SQLContext Main entry point for ...

  9. Scikit-learn:模型评估Model evaluation 之绘图

    http://blog.csdn.net/pipisorry/article/details/53001866 绘制ROC曲线 def plotRUC(yt, ys, title=None): ''' ...

  10. Android support library支持包常用控件介绍(一)

    谷歌官方推出Material Design 设计理念已经有段时间了,为支持更方便的实现Material Design设计效果,官方给出了Android support design library 支 ...