转载请标明出处:

http://blog.csdn.net/developer_jiangqq/article/details/50508534

本文出自:【江清清的博客】

(一)前言

【好消息】个人站点已经上线执行,后面博客以及技术干货等精彩文章会同步更新。请大家关注收藏:http://www.lcode.org

前面的课程我们已经对React Native的环境搭建以及开发的IDE做了相关的解说,今天我们的主要解说的是应用设备执行(Running)以及调试方法(Debugging)。本节的前提条件就是大家已经搭建了React Native的相关环境。假设没有请关注第一讲(点击进入)。

刚创建的React Native技术交流3群(496508742),React Native技术交流4群(458982758),请不要反复加群。欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送!

(二)创建React Native项目

须要执行和调试应用。首先我们须要使用react-native init xxproject来创建一个项目,这个步骤尽管在之前我们已经讲过了,只是这边在演示一下。

2.1.命令行执行:react-native init TestOne   [注].该命令创建项目时间有时候会比較耗时。一般几分钟吧,请耐心等待!执行日志截图例如以下:

2.2.在对应文件夹生成项目。项目的文件夹机构例如以下:

2.3.最后我们通过IDE引入该项目(Atom或者WebStorm),进行编写代码就可以。

(三)应用设备执行(Running)

[注意].假设你须要应用执行在真机设备中,那么我们首先设备要开启USB调试模式。详细真机怎么样打开USB调试模式,请百度哈(点击打开USB调试模式)

真机打开USB调试模式之后,然后连接电脑。命令行adb devices能够查看当前的设备列表信息。只是我如今电脑没有连接真机。全部仅仅有会显示模拟器信息了。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

如今大家能够看到里边有一台设备已经连接了,只是假设我们须要执行应用的话,那我们必须确保当前仅仅有一台设备已经连接就可以了。接下来我们命令行执行下面命令:

react-native run-android

接着就是開始编译代码。然后执行程序到设备中了。

[注意]

在真机上执行时可能会遇到白屏的情况,请找到并开启悬浮窗权限。比方小米系统设置(点击设置)

3.1.从设备上面訪问实时服务器数据(这边服务器指本地代码)

当我们启动开发服务的情况下,我们能够通过下面两种方法来更新远程代码来高速的更新改动我们的应用

[注意]如今非常多Android设备以及那个去除了Menu按键了。这时候我们能够通过摇晃设备来进行打开菜单,然后完毕应用的又一次载入,调试以及其它功能。

  • Android 5.0以上及更高版本号。能够使用adb reverse命令

首先你的设备连接电脑。然后打开USB调试模式。接着命令行执行

adb reverse tcp:8081 tcp:8081

然后我们就能够使用Reload JS和其它的开发选项了。

  • Android 下面版本号能够通过Wifi连接

①.手机和电脑USB连接而且电脑和手机设备在同一个Wifi网络环境下

②.採用react-native run-android执行应用。

③.如今会发现屏幕是"红色",继续下面的步骤进行解决,截图例如以下:

④.摇晃设备或者命令行输入adb shell input keyevent 82,打开开发人员菜单。例如以下效果:

⑤.点击Dev Settings进入,然后选择Debug server host& port for device

⑥.输入电脑的IP地址和port号(主要查看电脑的IP地址哦,。这边用我这边的IP地址和port。详细要依据实际情况哦),截图例如以下:

⑦.回到开发者菜单。然后选择点击Reload JS。又一次载入下面就可以。

(四)应用调试(Debugging)-针对Android应用设备

4.1.訪问应用内开发人员菜单

Android设备我们能够摇晃或者点击菜单键(只是如今非常多手机已经没有这个模拟按键了)。

假设你使用的是genymotion模拟器,你能够打开应用,然后发现屏幕右下方有一个箭头,点击然后点击菜单图标就可以。截图例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

[注意]假设我们的APP正式公布的话(Release版本号)。默认情况下我们採用gradle的assembleRelease来进行构建就可以。

或者通过代码ReactInstanceManager的setUseDeveloperSupport方法来进行设置是否开启调试支持。

4.2.应用刷新

正常情况下,假设我们仅仅是改动应用的JS代码的话,那么我们能够直接点击Reload JS选择实时刷新就可以。可是假设我们改动Android项目中的资源文件(比如res/drawable文件里图片)或者改动Android的源码。那么就须要又一次编译生成应用才干够生效。

4.3.Chrome开发调试工具

开发的应用进行调试的时候,我们能够使用Chrome来调试js代码。点击开发菜单中的Debugin Chrome。然后会打开一个网页: http://localhost:8081/debugger-ui   界面截图例如以下:

只是第一次打开须要安装ReactDevTools(最好翻墙一下)。

安装方法教程:

http://facebook.github.io/react/blog/2015/09/02/new-react-developer-tools.html

Chrome加入开发调试插件:

安装完插件,回退到原来的界面,然后刷新一下就可以:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

怎样打开开发人员工具:

想必做过Web前端开发的人都知道:Chrome中能够使用option+cammod+i打开或者Chrome选择菜单-很多其它工具-开发人员工具来进行打开控制台。

只是假设我们的程序出现异常话。能够开启(Pause On Caught Exceptions)。这样程序出现异常的时候,程序会暂停执行能够更好的调试错误。

真机调试方法:

①.针对Android 5.0或更高版本号的设备,能够通过USB连接。然后使用adb命令建立一个设备到电脑的转向port:命令例如以下:

adb reverse tcp:8081 tcp:8081

或者摇晃打开开发人员菜单,选择DevSettings。然后Debug server host for device中设置电脑的IP和port号。

②.针对Android5.0下面的设备。连接方式Wifi,其它步骤几乎相同哦。

4.4..实时刷新JS

我们能够进行那个例如以下改动,当我们前端JS代码发生更改的时候,自己主动让设备进行刷新界面。

在Android平台上面,打开开发人员菜单,选择Dev Settings,然后点击Auto reload on JS change选择,只是有些版本号好像没有这个更选项了。默认自己主动刷新的。

(五)最后总结

今天我们主要解说了React Native应用设备执行方式和真机方式,主要材料来自React Native官网,这边全部步骤我已经全部測试过下的。由于解说起来和实际使用还是回遇到各种问题的。

大家有问题能够加一下群React Native技术交流群(282693535)或者底下进行回复一下。

尊重原创,转载请注明:From Sky丶清(http://blog.csdn.net/developer_jiangqq) 侵权必究!

关注我的订阅号(codedev123),每天分享移动开发技术(Android/IOS),项目管理以及博客文章!(欢迎关注,第一时间推送精彩文章)

关注我的微博。能够获得很多其它精彩内容

【React Native开发】React Native应用设备执行(Running)以及调试(Debugging)(3)的更多相关文章

  1. 【转】【React Native开发】

    [React Native开发]React Native控件之ListView组件讲解以及最齐全实例(19)  [React Native开发]React Native控件之Touchable*系列组 ...

  2. React Native开发入门

    目录: 一.前言 二.什么是React Native 三.开发环境搭建 四.预备知识 五.最简单的React Native小程序 六.总结 七.参考资料   一.前言 虽然只是简单的了解了一下Reac ...

  3. 《React Native 精解与实战》书籍连载「Node.js 简介与 React Native 开发环境配置」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  4. 【React Native开发】React Native移植原生Android项目(4)

    ),React Native技术交流4群(458982758),请不要反复加群!欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文章 ...

  5. Mac配置React Native开发环境

    一直觉得学习一样东西,不动手怎么也学不会,就像学习swift,看了视频没有动手操作,记住的也就那么点,自己写出东西不是这里有问题就是那里出错. 所以,以后学习自己要多动手. 现在我的学习任务就是: 提 ...

  6. Mac电脑配置IOS React Native开发环境配置笔记

    React Native(以下简称RN)的开发环境配置直接参考官方文档即可完成,不过对小白来说东西有点多,有些名词不是很好理解,这里就官方的安装文档稍微展开说一下. 中文版配置说明:不错的中文说明.官 ...

  7. React Native开发技术周报1

    (一).资讯 1.React Native 0.21版本发布,最新版本功能特点,修复的Bug可以看一下已翻译 重要:如果升级 Android 项目到这个版本一定要读! 我们简化了 Android 应用 ...

  8. React Native 开发之 (05) flexbox布局

    一  flexbox布局 1 flex布局 flexbox是ReactNative 应用开发中必不可少的内容,也是最常用的内容. 传统的页面布局是基于盒子模型,依赖定位属性,流动属性和显示属性来解决. ...

  9. React Native 开发之 (02) 用Sublime 3作为React Native的开发IDE

    Sublime Text是一个代码编辑器.也是HTML和散文先进的文本编辑器.漂亮的用户界面和非凡的功能,例如:迷你地图,多选择Python插件,代码段等等.完全可自定义键绑定,菜单和工具栏等等.漂亮 ...

随机推荐

  1. Jmeter-maven-plugin高级配置之选择测试脚本(转)

    Posted on 2014 年 6 月 6 日 在pom.xml文件中可以指定运行哪些jmx脚本. 运行所有的测试脚本 Jmeter默认运行${project.base.directory}/src ...

  2. ios中屏幕适配

    - (void)viewDidLoad { [super viewDidLoad]; // 左上角 // 固定左边和上边,伸缩右边和下边 self.leftTop.autoresizingMask = ...

  3. centos7用xshell可以连接, xftp连接失败!(墙裂推荐)

    环境: vultr vps搭建的是centos7  毛病: xshell可以连接, 打开xftp配置好连接却连接失败如下图: 然后开始设置ssh的配置文件vim /etc/ssh/sshd_confi ...

  4. iOS 用自签名证书实现 HTTPS 请求的原理

    在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求.默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info ...

  5. 多级菜单系统安装维护shell脚本实现企业级案例

    演示效果: 1.一级菜单 2.二级菜单 3.执行操作 脚本参考: #!/bin/bash #author lic(oldboy linux student) #date 1304 DISK_NO=&q ...

  6. java restful接口

    用json-lib的jar包输出json串: public void responseJason(HttpServletResponse response, Object obj){ ObjectMa ...

  7. 树莓派进阶之路 (032) -字符问题(2) - 用c语言怎样得到一个汉字的GB2312编码(转)

    C/C++支持的是ASCII,不过汉字编码中,GB2312与ASCII是兼容的,所以可以在C中获得汉字的GB2312编码 GB2312是两个字节的,第一字节是高八位,第二字节是低八位,比如下面的程序: ...

  8. ROS学习(十一)—— msg srv

    一.msg 和 srv介绍 1.定义 消息(msg): msg文件就是一个描述ROS中所使用消息类型的简单文本.它们会被用来生成不同语言的源代码 服务(srv): 一个srv文件描述一项服务.它包含两 ...

  9. 定制jQuery File Upload为微博式单文件上传

    日志未经声明,均为AlloVince原创.版权采用『 知识共享署名-非商业性使用 2.5 许可协议』进行许可. jQuery File Upload是一个非常优秀的上传组件,主要使用了XHR作为上传方 ...

  10. C# Random 生成不重复随机数

    命名空间:System 表示伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备. 伪随机数是以相同的概率从一组有限的数字中选取的.所选数字并不具有完全的随机性,因为它们是用一种确定的数 ...