全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

ReactNative踩坑之配置调试端口的解决方法

本文介绍了ReactNative踩坑之配置调试端口的解决方法,分享大家,顺便也给自己留个笔记

问题是这样的,由于公司的机器安装了安全软件,http://localhost:8081被占用了。(windows上配置环境真不易,最后一步还是被公司环境坑了)

所以导致按照教程配置完环境最后到真机上还是刷不出来界面

那么我们就这么放弃了吗?当然不,不然就白忙活了

分析问题:端口被占用,那我们换一个端口不就行啦,于是乎各种查阅资料,发现PackageManager(包管理服务)在启动的时候是可以配置端口的.如下命令

react-native start --port 18081

这样Launch起来的包管理服务就在端口18081上了,在Chrome上敲localhost:18081神奇的显示了ReactNative的相关界面,说明正常了。

接着在真机上需要敲这个命令

adb reverse tcp:18081 tcp:18081

这个命令会将手机的调试端口设置成与包管理服务一致的端口18081

然后我在真机上跑了一遍程序,结果还是显示不出来。莫名的伤感有没有

在各种找不到资料的情况下,开始翻看ReactAndroid源码,经过分析最后找到这么一段关键的代码

public String getDebugServerHost() {
// Check host setting first. If empty try to detect emulator type and use default
// hostname for those
String hostFromSettings = mPreferences.getString(PREFS_DEBUG_SERVER_HOST_KEY, null);

if (!TextUtils.isEmpty(hostFromSettings)) {
 return Assertions.assertNotNull(hostFromSettings);
}

String host = AndroidInfoHelpers.getServerHost();

if (host.equals(AndroidInfoHelpers.DEVICE_LOCALHOST)) {
 FLog.w(
  TAG,
  "You seem to be running on device. Run 'adb reverse tcp:8081 tcp:8081' " +
   "to forward the debug server's port to the device.");
}

return host;
}

好家伙,原来是从SharedPreference中先读了PREFS_DEBUG_SERVER_HOST_KEY这个值,如果为空则用AndroidInfoHelpers.getServerHost()这个函数返回值(也就是loacalhost:8081)

那么解决办法就浮出水面了,只需要在Application初始化的时候讲这个值设置成我们自定义的就好了,类似

SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(applicationContext);
mPreferences.put("debug_http_host", "localhost:18081");

这段代码最好写在SoLoader.init(this, /* native exopackage */ false);调用之前,因为在windows上remote debug js的时候如果不写在前面似乎调试不起效果(调试的地址端口也变成了18081了)

写在最后的话,在找不到资料解决问题的时候,可以开始撸起袖子看代码了!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# ReactNative配置调试端口  # ReactNative调试端口  # React引入antd-mobile+postcss搭建移动端  # react配置webpack-bundle-analyzer项目优化踩坑记录  # antd踩坑之javascriptEnabled配置方式  # 机上  # 找不到  # 写在  # 设置成  # 我在  # 就在  # 不出来  # 上了  # 是这样  # 只需  # 是从  # 要在  # 一遍  # 这段  # 就行  # 用了  # 跑了  # 自定义  # 解决问题  # 在前面 


相关文章: 南平网站制作公司,2025年南平市事业单位报名时间?  ,石家庄四十八中学官网?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  网站制作员失业,怎样查看自己网站的注册者?  如何在阿里云高效完成企业建站全流程?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  如何构建满足综合性能需求的优质建站方案?  网站微信制作软件,如何制作微信链接?  如何通过FTP服务器快速搭建网站?  如何快速生成ASP一键建站模板并优化安全性?  网站制作需要会哪些技术,建立一个网站要花费多少?  建站之星2.7模板:企业网站建设与h5定制设计专题  如何在腾讯云免费申请建站?  湖北网站制作公司有哪些,湖北清能集团官网?  如何高效利用亚马逊云主机搭建企业网站?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  常州自助建站工具推荐:低成本搭建与模板选择技巧  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  北京的网站制作公司有哪些,哪个视频网站最好?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  如何在万网ECS上快速搭建专属网站?  建站主机是否属于云主机类型?  制作电商网页,电商供应链怎么做?  如何通过虚拟主机快速完成网站搭建?  深入理解Android中的xmlns:tools属性  北京网站制作公司哪家好一点,北京租房网站有哪些?  如何高效完成自助建站业务培训?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  太平洋网站制作公司,网络用语太平洋是什么意思?  建站之星收费标准详解:套餐费用及年费价格表一览  如何做静态网页,sublimetext3.0制作静态网页?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  建站之星各版本价格是多少?  如何在Windows服务器上快速搭建网站?  已有域名如何快速搭建专属网站?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  在线制作视频网站免费,都有哪些好的动漫网站?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  html制作网站的步骤有哪些,iapp如何添加网页?  高端企业智能建站程序:SEO优化与响应式模板定制开发  建站之星如何快速更换网站模板?  建站与域名管理如何高效结合?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  建站之星如何实现网站加密操作?   

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。