如何调试 Android 手机网页
2015-12-05 · 知道合伙人软件行家
关注
展开全部
直接用 Weinre 那就要自己搭建服务器,麻烦。想不那么麻烦可以试试下面介绍的。
A.Phonegap 集成了 Weinre:
先在你欲调试的页面置入这段脚本,js src 源来自 phonegap 的,其中 # 号后面紧跟着就是你的 id,由你来指定:
[html] view plaincopy
<script src=""></script>
然后启动你的 Chrome 浏览器,最好是 Chrome,别的浏览器不行,访问,便可看到我们十分熟悉的 Chrome 调试器界面:
B.Adobe Shadow
不是说要进军 HTML5 市场的吗,所以在 Weinre 的基础上搞了 Shadow(影子),Shadow 与 Phonegap 的相差无几。请恕我这里唐突,先来个Shadow 的官方介绍:
关于Adobe Shadow
weinre非常方便,目前来说是针对移动设备进行远程调试的最佳工具,但在进行真正的跨平台移动web应用开发时,通常开发者要面对多个不同型号的移动设备,此时要使用weinre同时同步在所有设备上进行调试就是一个非常费时费力的事情,Adobe在3月7日通过Adobe labs站点推出了Adobe Shadow,其核心利用了weinre进行远程调试,但是提供了针对多设备同步调试的功能。如果你感兴趣,可以在此下载试用:
Adobe 蛮贴心的,还弄了个 bookmarklet,——俺有空还想瞧瞧这个小 bookmarklet 能作何用……
[javascript] view plaincopy
javascript:(function(e){e.setAttribute("src","-min.js#anonymous");document.getElementsByTagName("body")[0].appendChild(e);})(document.createElement("script"));void(0); // 最后这个 void(0); 亮了~
二、Google 原生方案
所谓“原生方案”,就是利用 Google Chrome 调试工具本身,与 Chrome for Android 浏览器自带的调试工具相对接,与上述的方案有点近似但更为强大。尽管 Google 这个方案比较强大,但是美中不足的是,因为要访问这个,所以对国内用户而言,是要翻墙的(总之一见到这个 *.appspot.com 就逃不掉的了……)。
Google 教程介绍得简洁明了,访问地址如下:
我想还是略微介绍下使用步骤,主要的五步如下:
1、确认你已经安装 Android SDK,因为我们需要命令行工具 adb.exe
tips:建议将 adb.exe 加入环境变量,方便调用。
2、成功安装 sdk 后,敲入:
[html] view plaincopy
adb forward tcp:9222 localabstract:chrome_devtools_remote
会出现下列提示,表面建立守护进程成功:
3、打开两边的浏览器,一个是手机上的,请注意不是默认浏览器,是 Chrome,切记;然后打开本地 PC 桌面的浏览器,接着输入地址:localhost:9222,供你选择浏览器的哪一张 tab 调试:
4、点击后,跳到 (可能要翻墙),就可以 do what you want:
5、最后,你在 console 控制台中试试 alert('Hello world!'); 看看?
至于这个基于 Chrome 的原生方案,一点仍需注意的就是,在 Hybird 的模式下可能派不上用场,但前面介绍的 Weinre 方案相信可以。原因不详述了。另外是否支持 iPhone 呢?时间关系,我没有做多的测试。因为 iPhone 的 Chrome 装上了,也不知是不是就是使用着 Chrome 的核心?——这个真不晓得,因为曾听说过, 苹果不允许别的浏览器核心,,不过话说回来,既然 Android 弄好了,iPhone 也可以放心许多……
P.S: 如果您是 iOS 程序员或者手头上有苹果的机器,那么就幸福多了,把你的 iPhone/iPad 升级到 iOS 6,然后在“设置 > Safari > 高级”开启 Safari 的远程调试功能即可,——不像 Android 的那样强制 Chrome 浏览器, iOS 使用自带的 Safari 即可。该功能点是 iOS 6 新增的功能,用来代替原来简单的“调试控制台”。
接着就是打开 Safari,开启你要调试的网页。更详细的操作步骤在:《iOS6新功能 如何用 Mac远程调试iPhone》
三、Logcat
前两个方案都有一个特点,就是适合于界面的调试,html/css 那些,如果你只是调试 js,那么推荐用 Sdk 自带的 logcat 就可以。当然 Eclipse 那里已整合 Logcat(如上图),这里就介绍一下命令行的,不依赖 IDE。用法如下:
[html] view plaincopy
adb logcat "|" grep Console
这样你 js 中的 console.log(xx) 可以打出来了。这里的话,同事告诉我 grep 是 liunx 过滤器,,
注意有些手机并不支持浏览器 console 打印,我这里的 HTC 双擎便是不支持。后来换 Moto ME811 立刻 OK。
A.Phonegap 集成了 Weinre:
先在你欲调试的页面置入这段脚本,js src 源来自 phonegap 的,其中 # 号后面紧跟着就是你的 id,由你来指定:
[html] view plaincopy
<script src=""></script>
然后启动你的 Chrome 浏览器,最好是 Chrome,别的浏览器不行,访问,便可看到我们十分熟悉的 Chrome 调试器界面:
B.Adobe Shadow
不是说要进军 HTML5 市场的吗,所以在 Weinre 的基础上搞了 Shadow(影子),Shadow 与 Phonegap 的相差无几。请恕我这里唐突,先来个Shadow 的官方介绍:
关于Adobe Shadow
weinre非常方便,目前来说是针对移动设备进行远程调试的最佳工具,但在进行真正的跨平台移动web应用开发时,通常开发者要面对多个不同型号的移动设备,此时要使用weinre同时同步在所有设备上进行调试就是一个非常费时费力的事情,Adobe在3月7日通过Adobe labs站点推出了Adobe Shadow,其核心利用了weinre进行远程调试,但是提供了针对多设备同步调试的功能。如果你感兴趣,可以在此下载试用:
Adobe 蛮贴心的,还弄了个 bookmarklet,——俺有空还想瞧瞧这个小 bookmarklet 能作何用……
[javascript] view plaincopy
javascript:(function(e){e.setAttribute("src","-min.js#anonymous");document.getElementsByTagName("body")[0].appendChild(e);})(document.createElement("script"));void(0); // 最后这个 void(0); 亮了~
二、Google 原生方案
所谓“原生方案”,就是利用 Google Chrome 调试工具本身,与 Chrome for Android 浏览器自带的调试工具相对接,与上述的方案有点近似但更为强大。尽管 Google 这个方案比较强大,但是美中不足的是,因为要访问这个,所以对国内用户而言,是要翻墙的(总之一见到这个 *.appspot.com 就逃不掉的了……)。
Google 教程介绍得简洁明了,访问地址如下:
我想还是略微介绍下使用步骤,主要的五步如下:
1、确认你已经安装 Android SDK,因为我们需要命令行工具 adb.exe
tips:建议将 adb.exe 加入环境变量,方便调用。
2、成功安装 sdk 后,敲入:
[html] view plaincopy
adb forward tcp:9222 localabstract:chrome_devtools_remote
会出现下列提示,表面建立守护进程成功:
3、打开两边的浏览器,一个是手机上的,请注意不是默认浏览器,是 Chrome,切记;然后打开本地 PC 桌面的浏览器,接着输入地址:localhost:9222,供你选择浏览器的哪一张 tab 调试:
4、点击后,跳到 (可能要翻墙),就可以 do what you want:
5、最后,你在 console 控制台中试试 alert('Hello world!'); 看看?
至于这个基于 Chrome 的原生方案,一点仍需注意的就是,在 Hybird 的模式下可能派不上用场,但前面介绍的 Weinre 方案相信可以。原因不详述了。另外是否支持 iPhone 呢?时间关系,我没有做多的测试。因为 iPhone 的 Chrome 装上了,也不知是不是就是使用着 Chrome 的核心?——这个真不晓得,因为曾听说过, 苹果不允许别的浏览器核心,,不过话说回来,既然 Android 弄好了,iPhone 也可以放心许多……
P.S: 如果您是 iOS 程序员或者手头上有苹果的机器,那么就幸福多了,把你的 iPhone/iPad 升级到 iOS 6,然后在“设置 > Safari > 高级”开启 Safari 的远程调试功能即可,——不像 Android 的那样强制 Chrome 浏览器, iOS 使用自带的 Safari 即可。该功能点是 iOS 6 新增的功能,用来代替原来简单的“调试控制台”。
接着就是打开 Safari,开启你要调试的网页。更详细的操作步骤在:《iOS6新功能 如何用 Mac远程调试iPhone》
三、Logcat
前两个方案都有一个特点,就是适合于界面的调试,html/css 那些,如果你只是调试 js,那么推荐用 Sdk 自带的 logcat 就可以。当然 Eclipse 那里已整合 Logcat(如上图),这里就介绍一下命令行的,不依赖 IDE。用法如下:
[html] view plaincopy
adb logcat "|" grep Console
这样你 js 中的 console.log(xx) 可以打出来了。这里的话,同事告诉我 grep 是 liunx 过滤器,,
注意有些手机并不支持浏览器 console 打印,我这里的 HTC 双擎便是不支持。后来换 Moto ME811 立刻 OK。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询