在mac上如何利用android studio调试chrome上的h5页面

392 阅读2分钟

事由测试提了个bug,项目h5页面在安卓手机浏览器打开时定位报错,但在苹果手机定位正常,而我在mac的chrome的网页端开发还好好的,怎么会只在安卓手机浏览器打开时定位报错?看了下用到的定位API,用到的是高德地图的 Geolocation,并未说明不同端需要不同的API,也没说存在兼容性问题,于是便想着在模拟器模拟安卓机打开h5页面的情况。

打开android studio

首先安装好android studio

下载地址 developer.android.google.cn/studio?hl=z…

打开官网往下滑,选择对应的平台安装 image.png

安装完成后打开android studio

image.png

添加虚拟设备

点击Open旁边的三个点,在下拉里面选择虚拟设备管理

image.png 进入到虚拟设备管理,点击➕号添加设备

image.png 里面有不同虚拟设备可以添加,如手机、平板、手表等设备,也可以自己自定义,设置完成后点击下一步 image.png

启动模拟器

添加完成的设备,点击设备右边的启动按钮启动 image.png 不一会模拟器启动成功

image.png 下拉弹出菜单,选择设置可以设置模拟器相关设置,这个根据个人需求自定义

image.png

在模拟器打开web页面

点击打开模拟器的chrome浏览器,输入需要调试的项目地址

⚠️注意电脑本地的地址127.0.0.1对应模拟器的地址为10.0.2.2

image.png

这个时候是打不开调试的控制台的

调试web页面

然后在mac的浏览器的地址栏输入chrome://inspect

这时就会出现在模拟器上的地址

image.png

点击inspect

这时就会新开一个chrome标签页,控制台就是在这里显示

image.png

返回模拟器执行操作,控制台打印就会在新开的那个标签页的控制台输出,就可以开始调试了!

解决问题

这个定位报错问题,在安卓模拟器的浏览器复现了,貌似想起这个定位API是调用浏览器原生定位的,查了下资料,发现chrome的定位是有安全限制的

image.png 再回到bug描述里面的截图看了看,测试还真是通过http访问,而我本地开发是通过localhost访问,可能是chrome不会对localhost安全检查,导致了出现测试环境出了问题,然后我本地没能复现的情况。至于为什么通过iPhone浏览器打开页面,定位确没问题,我推测测试是用的Safari,毕竟这个定位的安全限制是chrome的限制,Safari不一定会有。

以上就是我在mac上利用android studio调试安卓手机上的web页面的例子,希望能帮助有需要的人