(一)前言

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

刚创建的React Native技术交流群(282693535),欢迎各位大牛,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可以查看当前的设备列表信息,不过我现在电脑没有连接真机,所有只有会显示模拟器信息了。

现在大家可以看到里边有一台设备已经连接了,不过如果我们需要运行应用的话,那我们必须确保当前只有一台设备已经连接即可了。接下来我们命令行运行以下命令:

1
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地址和端口号(主要查看电脑的IP地址哦,,这边用我这边的IP地址和端口,具体要根据实际情况哦),截图如下:

⑦.回到开发者菜单,然后选择点击Reload JS。重新加载以下即可。

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

4.1.访问应用内开发者菜单

Android设备我们可以摇晃或者点击菜单键(不过现在很多手机已经没有这个模拟按键了)。如果你使用的是genymotion模拟器,你可以打开应用,然后发现屏幕右下方有一个箭头,点击然后点击菜单图标即可。截图如下:

[注意]如果我们的APP正式发布的话(Release版本)。默认情况下我们采用gradle的assembleRelease来进行构建即可。或者通过代码ReactInstanceManager的setUseDeveloperSupport方法来进行设置是否开启调试支持。

4.2.应用刷新

正常情况下,如果我们只是修改应用的JS代码的话,那么我们可以直接点击Reload JS选择实时刷新即可。但是如果我们修改Android项目中的资源文件(例如res/drawable文件中图片)或者修改Android的源代码,那么就需要重新编译生成应用才可以生效。

4.3.Chrome开发调试工具

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

不过第一次打开需要安装React DevTools(最好FQ一下)。

安装方法教程:

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

Chrome添加开发调试插件:

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

如何打开开发者工具:

想必做过Web前端开发的人都知道:Chrome中可以使用option+cammod+i打开或者Chrome选择菜单-更多工具-开发者工具来进行打开控制台。不过如果我们的程序出现异常话,可以开启(Pause On Caught Exceptions)。这样程序出现异常的时候,程序会暂停执行可以更好的调试错误。

真机调试方法:

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

adb reverse tcp:8081 tcp:8081

或者摇晃打开开发者菜单,选择Dev Settings,然后Debug server host for device中设置电脑的IP和端口号。

②.针对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://www.lcode.org/) 侵权必究!

React Native的环境搭建以及开发的IDE的更多相关文章

  1. React Native iOS环境搭建

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

  2. react native的环境搭建中常见问题

    搭建完成android的环境,我们就可以继续我们的react native环境的搭建了. 当然,按照fb的安装流程来完成rn的搭建. http://facebook.github.io/react-n ...

  3. React Native Android 环境搭建

    因为工作需要,最近正在学习React Native Android.温故而知新,把学习的内容记录下来巩固一下知识,也给有需要的人一些帮助. 需要说明的是,我刚接触React Native也不久,对它的 ...

  4. React+Webpack+ES6环境搭建(自定义框架)

    引言 目前React前端框架是今年最火的.而基于React的React Native也迅速发展.React有其独特的组件化功能与JSX的新语法,帮助前端设计有了更好的设计与便捷,而React Nati ...

  5. typescript+react+antd基础环境搭建

    typescript+react+antd基础环境搭建(包含样式定制) tsconfig.json 配置 // 具体配置可以看上面的链接 这里module moduleResolution的配置都会影 ...

  6. Python环境搭建和开发工具的配置

    本文转自http://237451446.blog.51cto.com/2307663/766781 因为要学习python了,第一步当然是环境搭建和开发工具的配置了,下边开始了. 我的开发环境是在w ...

  7.  paip.android环境搭建与开发事例

    paip.android环境搭建与开发事例 好长时间没有玩AndROID了..以前常常做ANDROID的,今天决定在下载一个要做个时间设置器 作者Attilax ,  EMAIL:1466519819 ...

  8. react+webpack+babel环境搭建

    [react+webpack+babel环境搭建] 1.react官方文档推荐使用 babel-preset-react.babel-preset-es2015 两个perset. Babel官方文档 ...

  9. python环境搭建和开发工具的配置【转】

    因为要学习python了,第一步当然是环境搭建和开发工具的配置了,下边开始了. 我的开发环境是在window下. 一.环境搭建 先在python官网python.org下载安装文件,python2.x ...

随机推荐

  1. HDU 4938 Seeing People(2014 Multi-University Training Contest 7)

    思路:根据出发时间把点往速度反方向移动 t*v的 的距离这样就可以当成 全部点一起出发,再把y轴上的点固定不动相当于x轴的点向(-v2,v1)方向移动 .可以把所有点映射到x轴上进行统计即可(要记住同 ...

  2. Android中的Keyevent

    使用Adb shell command直接送key event給Android adb shell input keyevent 7 # for key '0' adb shell input key ...

  3. http调接口

    private static String doGetResult(String urlStr, Map<String, String> params) throws Exception ...

  4. spring -java.lang.NoClassDefFoundError: javax/mail/MessagingException

    今天遇到这个问题,网上找了半天,终于解决了,最后记录一下. spring集成了mail,于是就测试了下,结果报了java.lang.NoClassDefFoundError: javax/mail/M ...

  5. 不安装HALCON下安装运行版U盘加密狗驱动

    参考halcon安装指导书 Installation Guide Depending on your operating system, you can install, configure, and ...

  6. Devexpress DateEdit控件的值不反馈到数据源的处理方式。

    如果在GridControl中要把编辑的值反馈到数据源,可以用Gridview1.PostEdit()方法. 可是在datalayout中使用就会遇到一些问题:比如说DateEdit控件,在保存数据的 ...

  7. STM32——assert_param(expr)

    在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用.如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义 ...

  8. ov5648摄像头调试

    工作平台:MTK8389 sensor:ov5648 今天调试这颗摄像头的心得就是:首先得把上电时序弄对,I2C才能通讯,然后就是ID都要写对.

  9. SQLSERVER排查CPU占用高的情况

    SQLSERVER排查CPU占用高的情况 今天中午,有朋友叫我帮他看一下数据库,操作系统是Windows2008R2 ,数据库是SQL2008R2 64位 64G内存,16核CPU 硬件配置还是比较高 ...

  10. Entity Framework Linq 动态组合where条件

    public static class PredicateExtensions { public static Expression<Func<T, bool>> True&l ...