服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

干货:远程调试以及针对iOS和Android平台的具体调试方法

2020-12-30 10:18:57 阅读(156 评论(0)

将静态资源指向本地Mobile越来越重要,Hybridapp越来越受欢迎,但在手机上调试网页并不像在电脑上那么容易。大约半年前,我开始转向MobileWeb的发展,在调试方面做了很多尝试,最近慢慢与大家分享。开发过程离不开调试,尤其是前端开发,几乎边调试边开发。调试的第一步:让浏览器/webview直接要求您的本地源码PC端体验如何实现目标?相信大家在做PCWeb开发的时候都接触过以下解决方案:编辑本地hosts文件,将静态资源域名指向本地,在本地建立静态资源HTTP服务器,让浏览器直接输入本地源代码。在本地建立代理服务器,将浏览器代理设置为代理服务器,并根据代理服务器中的规则直接读取本地源代码返回浏览器。例如,nproxy可以满足此类需求。Autoresponder功能采用Fiddler。事实上,这种方法和上一种方法是一样的,Fiddler是一种非常强大和免费的GUI工具,很容易使用。利用模块加载器提供的debug功能对本地资源进行在线资源映射,如seajs-debug。所有这些任务都是让浏览器直接要求您的本地源代码。只要我们这样做,我们就可以在编辑器中更改代码,刷新浏览器,立即看到更改后的效果,避免繁琐的代码部署操作。移动终端的移动终端方案应该怎么做?无非是实现同样的目标:让手机浏览器/webview直接输入我们工作计算机上的源代码。让我们来看看这些常用的PC方法是否仍然适用于手机。编辑hosts计划在PC上编辑hosts文件时,要注意管理员权限需要在WIN7/8系统上,在Mac/Linux下,root权限需要。这确实是一个非常安全和敏感的文件。因此,在手机上编辑这些文件也需要root权限。这意味着iOS需要越狱,Android需要root。我觉得这个方案在手机上是不可取的,很难在手机上编辑hosts。你不能保证每台开发机都有root权限。调试兼容性时,遇到不能root的机器怎么办?在iOS上配置系统的HTTP代理服务器非常容易使用代理方案(包括自建proxyserver和fidler)。大多数安卓机器也可以配置,但不同型号的菜单位置不同。剩下的要做的就是把一些文件代理到本地,就像在PC上一样。使用这个方案可能会遇到的问题是:自建proxyserver一般与HTTPS兼容性不够好。对于Hybridapp,native部分的一些请求可能是HTTPS,webview中的页面是HTTP。HTTPProxy设置后,所有请求都必须通过该代理服务器。如果HTTPS的支持不够好,则可能无法登录。这一点要赞Fiddler,处理得很好。此外,Mac用户可能没有太好的Fidler替代品,Charles是收费的,也不如Fiddler好用。使用模块加载器提供的debug功能通常需要在页面上输入一些东西来完成资源映射。在手机上输入文本太麻烦了,屏幕太小,不容易显示这些内容,所以这个方案不好。综上所述,使用代理服务器的方案可以从PC端沿用到移动端。但正如我们上面所说,使用代理服务器也有一些缺点,那么绑定hosts的效果能在手机上无痛地实现吗?答案是肯定的。绑定hosts只会改变域名的分析结果,正常情况下,域名是由谁来分析的?DNS!我们只需要在开发计算机上运行一个特殊的DNS服务器,然后将手机网络配置中的DNS改为开发计算机的IP。在DNS服务器中做一些手脚,将静态资源域名分析到开发计算机上,就能达到与编辑hosts文件完全相同的效果。与修改代理服务器相比,在手机上修改DNS服务器地址非常容易。为了实现这一点,我写了一个非常方便配置的DNSServer:xdns,与hosts文件的语法兼容,同时提供了比hosts文件更先进的语法。例如,xdns支持域名使用通配符模式。支持IP地址使用网卡接口名作为占位符,在运行过程中可以自动替换到网卡接口上的IPV4地址,这样当您的开发计算机IP发生变化时,就不需要修改配置文件。安装和启动非常方便,使用Node.js开发,Node应该熟悉前端。npm安装后,可以启动一个命令。具体请参阅文档:xdns。在使用桌面浏览器开发时,几乎每个浏览器都有自己的开发工具,比如常用的firebug,chromedevelpertools,safaridevelopertools.即使是IE甚至IE6,也有自己的开发工具。我们使用这些工具来检查调试样式javascript,查看修改cookie,查看网络请求等。大家都很熟悉这些。由于屏幕太小,手机端的浏览器或webview无法在手机上集成developertols。幸运的是,主要制造商仍然非常关注开发商的便利性,现在有各种远程调试计划。也就是说,在手机上加载页面,在电脑上显示调试工具。让我们来看看一些主流工具。iOS平台1.SafariMobilesafari支持远程调试,需要做以下步骤:在手机中找到设置->safari->高级->打开此功能的Web检查器。将数据线连接到您的Mac(没有Mac)去找老板!)。打开Mac下的safari,在偏好设置中,在高级栏的底部,检查菜单栏中显示“开发”菜单,用手机safari访问一个网页,在mac上的safari开发菜单中找到你的手机,在二级菜单中找到这个网页,然后进入熟悉的safaridevelopertols,调试css,js网络请求等。2.在iOSwebviewiOSAPP中,webview也支持远程调试,但有更多的限制。这个APP必须自己编译安装在手机上,也就是说,你必须有iOS开发者账号。开发HybridAPP并不难,团队必须有开发者账号。您需要做的是了解一点iOS开发基础,至少可以自行将代码编译安装到您的手机上。对于自己编译的APP,只需将要调试的页面加载到APP中,其他步骤与safari的远程调试相同。Android平台1.chromemobilechromeforandroid32和后续版本具有远程调试功能。您需要做的是打开android的USB调试功能。将USB连接到您的电脑上(Windows用户需要安装Android驱动器)。在Chromeforandroid上打开要调试的网页。在电脑上打开chrome(最低也需要32个版本),进入菜单->工具->检查设备页面,确保检查DiscoverUSBdevices。如果设置正确,现在可以看到手机上打开的页面。点击inspect进入熟悉的chromedevelpertols。由于Android手机种类繁多,如遇麻烦,请仔细阅读官方文件2.WebviewAndroid4.从4开始,默认浏览器已经是chrome了,所以webview也是chrome,这给了webview远程调试的能力。在Android中,我们需要为Webview做以下设置:Javacode将内容复制到剪贴板ifew(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {      WebView.setWebContentsDebuggingEnabled(true);  }  然后在你的应用程序中打开要调试的页面,远程调试的其余步骤与使用ChromeforAndroid相同。3.使用Android模拟器,鉴于目前Android4.4的手机还比较少,可以选择使用模拟器进行调试。3.使用Android模拟器。由于Android4.4的手机仍然很少,您可以选择使用模拟器进行调试。官方模拟器太慢了。建议您使用genymotion和X86架构的模拟器。速度与真正的机器没有什么不同。对于只进行webview调试的前端,只需使用个人免费版即可。4.其他方法,如果您的调试条件不能满足上述任何一种,也可以使用weinre。只需在页面中插入一个脚本,就可以进行远程调试,基本上没有其它限制。但使用这个也有明显的缺点:不能给javascript中断点,基本上只能使用console调试不支持查看元素的风格写在css的第一行,也不支持显示哪个文件通过网络连接,所以在调试移动网络时,不容易操作(需要服务运行在移动网络可以访问的机器上),weinre只适用于当你不能使用safari或chrome进行远程调试时,聊天总比没有好。在调试androidhybridAPP时,经常会遇到这种情况。综上所述,您可以根据下图选择最佳调试方案:由于我目前只接触IOS和Android平台的开发和调试,其他移动平台不了解,本文不涉及windowsphone等平台。综上所述,您可以根据下图选择最佳调试方案:由于我只接触IOS和Android平台的开发和调试,其他移动平台不了解,本文不涉及windowsphone等平台。欢迎留言或电子邮件交流各种远程调试方案。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

应用程序无法正常启动0xc000005怎么办

无法正常启动0xc0000005怎么解决?应用程序无法正常启动0xc0000005解决步骤:; 1、首先右键软件图标,点击属性。; 2、打开属性后在属性栏里选择兼容性。; 3、然后勾选以兼容模式运行这个程续。; 4、…查看详情

Sinox是一个什么样的操作系统?

Sinox是一个什么样的操作系统?是一种操作系统·,Sinox汉澳操作系统是2005年8月面世的中国最新操作系统。  Sinox与freebsd、linux、windows比较Sinox和linux都是类unix操作系统,遵守posix标准…查看详情

免费的美剧app软件有哪些 美剧app排行榜前十名

  随着时代的发展,美剧越来越受到年轻人的喜爱,现阶段各种美剧app也层出不穷。通过美剧app,能够满足多元人群的追剧需求,同步更新剧集内容,了解最新的美剧动态。下面小编就给大家来详细介绍一下免费的美剧app软件有哪些 美剧app排行榜…查看详情

房产系统全国联网吗

随着社会的发展和人民生活水平的提高,房地产行业在中国经济中扮演着重要的角色。为了有效管理和监管房地产市场,许多国家建立了房产系统。但是,这些系统是否全国联网呢?以下是关于房产系统全国联网的重要性以及实现该目标所面临的挑战的文章。 房产系统全…查看详情

淘宝商品页面打不开,有什么办法可以解决?

淘宝网的首页能打开就是打不开店铺页面是怎么?第一步:先试试开下京东亚马逊,等其他网站的详情页,还有换个浏览器再试试!~~~如果都能打开就正面网络正常,就算清理了浏览器垃圾一样不可能打开淘宝! 第二步:试试打开天猫详情页,因为天猫和淘宝是相…查看详情

html如何加注释

怎么注释html标签?HTML语言中,注释用【】来添加,具体代码如下html注释代码是什么html中注释怎么写如何注释?写注释的话,我们只需要输入/就可以了,然后在后面写完之后也要加上一个这个符号就可以了,其次是注释的话,你写完一行代码或者…查看详情

怎么做第二域名? 第二域名设置方法

  优质答案(1)  域名和二级域名区别为:组成不同、范围不同、作用不同。  一、组成不同 1、域名:域名是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称。2、二级域名:二级域名是域名的倒数第二个部分,属于主域名…查看详情

怎样制作微信小程序?相关步骤要知道

微信小程序使用率是比较高的,尤其是在最近几年越来越火,有很多的线下商家相信也都是了解的,甚至有很多的企业想要制定自己的小程序,这样才能够将自己的产品展现出去,也能够吸引更多的客户。但是在进行微信小程序定制的时候,很多人并不了解步…查看详情

2022年代运营一家店铺多少钱

  现在很多的卖家在做电商的时候都会把店铺的运营交给第三方代运营公司,有很多商家是没有运营的这块能力的,那么2022年代运营一家店铺多少钱,下面万商云集小编就给大家来解答下这个问题。  2022年代运营一家店铺多少钱  如今天猫代运营公司越…查看详情

常用的绩效管理工具-绩效考核管理系统

说道绩效考核就不得不说道员工这一块,所有的绩效考核都是根据员工的工作能力,以及工作态度和工作效率而评定下来最终关于薪资的关键存在,那今天我们就来讲一下绩效考核管理系统都有哪些。 1、蓝信APP 这是一款很多公司正在使用的办…查看详情

documents是什么文件夹

hykb是什么文件夹可以删除吗?hykb是手机里的系统或者游戏数据文件。可以删除。 数据文件在大容量复制操作中,将数据从向外大容量复制操作传输到向内大容量复制操作的文件。在SQLServer2000数据库中,数据文件存放着在数据库中存储的…查看详情

空调品牌有哪些 2022十大空调品牌排行榜

  相信大家对空调的品牌都是比较熟悉的,家里面的也是装有空调的,下面万商云集小编给大家来详细介绍一下空调品牌有哪些 2022十大空调品牌排行榜,不知道下面的这些空调品牌有哪些,大家都使用过这些空调品牌没有。  一.格力GREE  近日,…查看详情

hao123浏览器兼容模式怎么设置

hao123浏览器是一款基于谷歌浏览器内核开发的浏览器,它提供了许多便捷的功能和个性化设置。当遇到某些网站或应用程序在hao123浏览器中无法正常显示或运行时,您可以尝试使用兼容模式来解决问题。要设置hao123浏览器的兼容模式,请按照以下…查看详情

2022年专利转让需要多少钱(新整理)

  如果一项专利有很大的市场前景,专利的转让可以给专利发明人带来很大的收益。专利的转让在中国也越来越普遍。下面小编就给大家来详细介绍一下2022年专利转让需要多少钱这一块的相关内容,希望下面的内容能帮助到大家。  2022年专利转让需要多少…查看详情

版权登记有什么作用?保护权益,获得补贴,作为无形资产

即使如今社会经济、互联网在飞速发展中,人们对知识产权的重视度越来越高,但在实际生活中仍然存在侵权的情况,但是若及时进行版权登记,受到法律保护,就能及时维护自己的著作权,因此很多人开始进行版权登记,那么究竟版权登记有什么作用呢? 图片来源于网…查看详情

最新文章