手机端的浏览器或者 webview 不可能在手机上集成一个 developer tools ,由于屏幕过小。好在各大厂商仍是很关注开发者的便利性的,如今有多种远程调试的方案。也就是在手机上加载页面,在电脑上来展现调试工具。下面咱们看看目前主流的一些工具。javascript
safari 支持远程调试,须要作以下的几步:css
作完这些,咱们就进入了熟悉的 safari developer tools ,调试 css , js 网络请求等。html
iOS APP 里的 webview 一样支持远程调试,不过限制更多一点。这个 APP 必须是本身编译安装进手机的,也就是你必需要有 iOS 开发者帐号。对于作 Hybrid APP 开发的来讲,这不是什么难事,团队确定有开发者帐号。你须要作的是了解一点 iOS 开发基础,起码能自助把代码编译安装到你的手机。前端
对于本身编译进去的 APP ,只须要在 APP 里载入你要调试的页面,其余步骤和 safari 的远程调试同样。java
Chrome for android 32 以及以后的版本具备远程调试的功能,你须要作的是:android
若是设置正确的话,如今就能够看到你手机上打开的页面了,点击 inspect 进入咱们熟悉的 Chrome develper tools 。web
因为 Android 手机各类各样,若是遇到麻烦,请仔细阅读 官方文档chrome
Android 4.4 开始,默认的浏览器已是 chrome 了,因此 webview 也是 chrome 了,这就给了 webview 远程调试的能力。咱们须要在 Android 里针对 Webview 作如下设置:apache
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); }
而后在你的 App 里打开要调试的页面,其他步骤和使用 Chrome for Android 同样,进行远程调试。windows
鉴于目前 Android 4.4 的手机还比较少,你能够选择使用模拟器来进行调试。官方的模拟器太慢,推荐你们使用 genymotion , X86 架构的模拟器,速度和真机没什么两样了。对于只作 webview 调试的前端来讲,只须要使用我的免费版就能够了。
若是你的调试条件不能知足上面讲的任何一种,还可使用 weinre 。只须要在页面里插入一段脚本,就能够进行远程调试,基本没其余限制。可是使用这个也是有明显的缺点的:
总之,weinre 仅仅适用于你没办法使用 Safari 或者 Chrome 进行远程调试的状况下,聊胜于无,调试 Android hybrid APP 时,常常会遇到这个状况。
综上所述,能够根据下图来选择最优的调试方案: