本文介绍了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小时内与您取得联系。