【React Native开发】React Native应用设备运行(Running)以及调试(Debugging)

转载请标明出处:

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

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


()前言       

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

       前面的课程我们已经对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可以查看当前的设备列表信息,不过我现在电脑没有连接真机,所有只有会显示模拟器信息了。      


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

react-native run-android


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

[注意]

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

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

当我们启动开发服务的情况下,我们可以通过以下两种方法来更新远程代码来快速的更新修改我们的应用

      [注意]现在很多Android设备以及那个去除了Menu按键了,这时候我们可以通过摇晃设备来进行打开菜单,然后完成应用的重新加载,调试以及其他功能。

  • Android 5.0以上及更高版本,可以使用adb reverse命令

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

adb reverse tcp:8081 tcp:8080

然后我们就可以使用Reload JS和其他的开发选项了。

  • Android 以下版本可以通过Wifi连接

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

.react-native run-android运行应用。

.现在发现"红色",继续下面的步骤进行解决,截图如下:


.摇晃设备输入adb sell 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来进行构建即可。或者通过代码ReactInstanceManagersetUseDeveloperSupport方法来进行设置是否开启调试支持。

 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添加开发调试插件:


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


        如何打开开发者工具:

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

真机调试方法:

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

adb reverse tcp:8081 tcp:8081

或者摇晃打开开发者菜单,选择DevSettings,然后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://blog.csdn.net/developer_jiangqq) 侵权必究!

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

关注我的微博,可以获得更多精彩内容

 

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
1.使用缓存的目的 缓存是存取数据的临时地,因为取原始数据代价太大了,加了缓存,可以取得快些。缓存可以认为是原始数据的子集,它是从原始数据里复制出来的,并且为了能被取回,被加上了标志。 在android开发中,经常要访问网络数据比如大量网络图片,如果每次需要同一张图片都去网络获取,这代价显然太大了。可以考虑设置本地文件缓存和内存缓存,存储从网络取得的数据;本地文件缓存空间并非是无限大的,容量越大读取效率越低,可设置一个折中缓存容量比如10M,如果缓存已满,我们需要采用合适的替换策略换掉一个已有的数据对象,
         今天调试一个bug的时候,情景如下:           一个Activity A,需要用startActivityForResult方法开启Activity B。Activity B的launch mode被设置为singleTask,那么在Activity B开启之后的瞬间(未等B返回任何result),Activity A中的onActivityResult方法就会被调用,并且收到一个RESULT_CANCEL的request code。          然后在ActivityB
使用Vitamio打造自己的Android万能播放器(1)——准备 一、实现目标  1.1 亮度控制 模仿 VPlayer 界面: 1.2 声音控制   模仿 VPlayer 界面:      1.3 画面缩放  根据下面API提供画面的拉伸、剪切、100%、全屏    二、Vitamio API 介绍 VideoView  2.1 public void start() 开始播放  2.2 public void pause() 暂停播放  2.3 public long getDuration()
上一篇介绍了贝塞尔曲线的简单应用  仿360内存清理效果 这一篇带来一个  两条贝塞尔曲线的应用 : 仿qq未读消息去除效果。 转载请注明出处:http://blog.csdn.net/wingichoy/article/details/50503630 老规矩,先上效果图: qq的未读消息去除很炫酷,其实就是用了两条贝塞尔曲线,我们按思路来,先来画两个圆,及两条贝塞尔曲线,辅助点为圆心y坐标的一半。我们把下面移动的圆,叫做mMoveCircle. 这样一画,就很简单明了了对不对。 只要在拖动的时候 去改
最近我独立开发的项目《全医会》已经在内测当中了,很快将会上架到各大应用市场。之前开发的几个项目都因为一些原因没有上架还是比较遗憾的。所以,最近我心情格外的好。 今天在做一个新项目,专为律师和客户开发的APP,其中有一个自定义对话框的需求。这个知识点其实很简单,就是下图这个效果: 可是当我悠闲的写完以后才发现,自定义对话框里面嵌套的EditText根本无法获取焦点,无法弹出软键盘,郁闷,以前开发的软件里面没有EditText的时候一切正常,没有发现这个隐藏的坑。下图是我之前写的一个自定义对话框: 下面来解决
android引入MVVM框架时间还不长,目前还很少有应用到app中的。但它是比较新的技术,使用它来搭建项目能省很多代码,而且能使用代码架构比较清晰。本篇文章是我在学习MVVM时翻译的,篇幅比较长,先翻译前半部分。 这篇文档解析如何使用数据绑定库来写响应式布局并减少用来绑定应用程序和布局之间冗余代码,使用逻辑层和布局分离。 数据绑定库提供了即灵活又全面的兼容性——它的支持库 .so 可以用在 android2.1 平台( API level 7+ )。 使用 MVVM 需要 Gradle1.5.0-alp

接口测试之HAR - 2016-01-14 17:01:06

参考文章 雪球的 HttpApi 接口测试框架设计 HAR(HTTP Archive)规范 神器——Chrome开发者工具(一) HAR是什么 一句话:关于HTTP所有的信息的一种文件保存格式 HAR获取 我用的是 chrome 浏览器,按 Option+Command+I 来打开开发者选项,选择 Network 选项: 这个时候我们看不到关于网络相关的信息,我们需要重新刷新下url地址栏,重新发起一次请求,这个时候 Network 会刷新出信息: 这个时候我们在输出区点击右键,会出现一个菜单,找到 Sa
Chronometer直接继承了TextView组件,它会显示一段文本,显示从某个其实时间开始,一共过了多长时间。我们看Chronometer的源码: 可以看出计时器是直接继承了TextView,当然可以用TextView的所有属性和方法。同时及时其还 有自己的内部接口OnChronometerTickListener 计时器的新增属性和方法: 计时器的常用方法如下: setBase(long base):设置计时器的起始时间 setFormat(String format) :设置显示时间的格式 sta
Visual Studio 外请版本管理插件 - AnkhSVN 太阳火神的美丽人生 ( http://blog.csdn.net/opengl_es ) 本文遵循“ 署名-非商业用途-保持一致 ” 创作公用协议 转载请保留此句: 太阳火神的美丽人生 -  本博客专注于  敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino , 否则,出自本博客的文章拒绝转载或再转载,谢谢合作。 Visual Studio 有自已的版本管理系统,叫做 TFS(Team Foun
先上效果图: 本篇文章我们来学习一个开源项目 Android-ItemTouchHelper-Demo 这个项目使用了RecyclerView的ItemTouchHelper类实现了Item的拖动和删除功能,ItemTouchHelper是v7包下的一个类,我们看一下他的介绍 This is a utility class to add swipe to dismiss and drag drop support to RecyclerView. 这是一个工具类,专门用来配合RecyclerView实现滑