H5的调试的方式一般用chrome的emulator就好,可是遇到APP就拙计了。这时候还得用远程调试,远程调试很给力,不过目前网上还没有好的文章讲解,要好好的把其配置下来还是非常有难度的,今天折腾了半天,终于弄好,分享一下

配置需求

话说其配置也是非常有考究的,和ios开发一样,都是有门槛的货,告诉大家屌丝误入,不过这个条件作为屌丝的我也算是打了擦边球,唯一要求就是android系统要4.0以上才支持

app代码

如果需要调试那么,代码中一定要先在,apk生成前的开发包中的manifest.xml文件中加入如下两句

{
"name": "My extension",

"permissions": [
"debugger",
],

}

重点是permissions和其他的功能一样都要注册一下先,参考https://developer.chrome.com/extensions/debugger

然后还要在Main文件里加上这个句,表示在android中启动这个功能,话说app的开发有点废柴,这种代码又难记又和功能耦合的紧,非ctrl+c,ctrl+v如何破,详情https://developer.chrome.com/devtools/docs/remote-debugging#debugging-webviews

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
if ( 0 != ( getApplcationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE ) ) {
WebView.setWebContentsDebuggingEnabled(true);
}
}

安装设备驱动

插上设备的USB后进行OEM的安装,很多自动更新驱动不要信啊,从这里下驱动http://developer.android.com/tools/extras/oem-usb.html 安装方式【以win7为例】

  • 1.链接设备
  • 2.点击我的电脑右键选择管理
  • 3.选择设备管理器
  • 4.找到相应的设备后
  • 5.点击右键选择更新驱动软件
  • 6.选择浏览计算机以查找驱动程序软件  (根据这里面的说明安装http://developer.android.com/tools/extras/oem-usb.html)我由于是googleNesus系列就用了http://developer.android.com/sdk/win-usb.html)
  • 7.点击下一步安装驱动

这些比较简单,但是需要注意的是是除了原生的驱动也许还有interface之类的驱动也得完美无缺的装上。我的nexus就得这样搞得我第一次以为我的机器不支持远程调试呢。 (根据这里面的说明安装http://developer.android.com/tools/extras/oem-usb.html)我由于是googleNesus系列就用了http://developer.android.com/sdk/win-usb.html

调试hybrid

输入网址chrome://inspect/#devices 打好勾,然后hybrid的页面自然呈现了,点击inspect就可以了 理论上是这样的,不过,如果您的效果是ok的,我就跪了,今天研究了半天主要遇到这个槛了。找了一下原因原来是有两个变量undefined

ncaught ReferenceError: InspectorFrontendAPI is not defined
Uncaught ReferenceError: WebInspector is not defined

找了半天确实stackoverflow上有一篇一样的问题,但是没人回答… http://stackoverflow.com/questions/21801324/inspectorfrontendapi-is-not-defined-during-chrome-remote-debugging 后来发现不回答却是是这样的,通过抓包工具,了解到,原来是请求被拒了,这只有伟大的天朝能干的出来。 我用了三种代理的方式翻墙,facebook都看腻了还是访问不到,facebook已经被我上的快玩坏了。 最后还是靠vpn解决了,(推荐greenvpn免费) 不过还好这个访问的是配置文件,也就是说执行完一次如果保存成功,将不再继续访问了。 好了,大功告成,慢慢打断点调试吧.

参考文章

https://developer.chrome.com/devtools/docs/remote-debugging

https://developer.chrome.com/devtools/docs/debugger-protocol

https://developer.chrome.com/extensions/debugger

http://developer.android.com/tools/extras/oem-usb.html

http://developer.android.com/tools/device.html

android webview远程调试的更多相关文章

  1. Android Stadio调试gradle 插件 || Android Stadio 远程调试 || Anroid APT调试

    有时候,自己开发了gralde插件,想调试一下.毕竟打印log 成本太高.效率太低.怎么做呢? 第一种方法: 1.执行gradlew 命令的时候,加上几个参数:-Dorg.gradle.debug=t ...

  2. android:如何通过chrome远程调试APP中的webView的h5代码

    今天出现一个问题,在老板的Mate9 Pro上,我们APP的所有H5页面都是一片空白,但是在其他手机上都是好的,那么我们就怀疑是h5报错了,但是到底是什么错,无法得知,所以就想要可以像在pc的chro ...

  3. Mobile Web 调试指南(2):远程调试

    原文:http://blog.jobbole.com/68606/ 原文出处: 阿伦孟的博客(@allenm ) 第一篇中讲解了如何让手机来请求我们开发电脑上的源码,做到了这步后,我们可以改完代码立即 ...

  4. 安卓手机移动端Web开发调试之Chrome远程调试(Remote Debugging)

    一.让安卓打debug模式的apk包 二.将电脑中的chrome升级到最新版本,在chrome浏览器地址栏中输入chrome://inspect/#devices: 在智能手机还未普及时,移动设备的调 ...

  5. chrome 远程调试(转)

    http://www.tuicool.com/articles/ZJfeAzi 由于 appspot.com被墙,一般调试不成功. 随着智能手机的普及,移动设备的浏览器功能越来越强大,我们用手机上网时 ...

  6. 使用chrome远程调试设备及调试模拟器设备

    使用chrome开发工具远程在Android上远程调试 准备工作 开始远程调试之前,需要做好如下准备: 在你电脑上安装Chrome 32 或者更新的版本 一根连接Android设备的USB线 手机系统 ...

  7. chrome 远程调试相关问题

    1.使用chrome remote debug时打开inspect时出现一片空白 2.如何不用FQ可以享受Chrome for android的远程调试功能 3.chrome://appcache-i ...

  8. Android WebView File域同源策略绕过漏洞浅析

       0x00     我们首先讲一个webView这种方法的作用: webView.getSettings().setAllowFileAccessFromFileURLs(false);     ...

  9. 真机远程调试 ( IOS Android 以及微信,weex)

    1.以前cordova远程调试,Android的直接连接USB后,用chrome打开chrome://inspect网址 IOS的打开Safari的developer下. 这是因为cordova的we ...

随机推荐

  1. 理解innodb buffer pool

    今天组里有个同事说可以查看innodb buffer pool每个表和索引占的大小,为此我搜了下,还真有方法,记录下. innodb buffer pool有几个目的: 缓存数据--众所周知,这个占了 ...

  2. Django(四)

    一.请求周期 url> 路由 > 函数或类 > 返回字符串或者模板语言? 1.Form表单提交: 提交 -> url > 函数或类中的方法 - .... HttpResp ...

  3. Bash:-:-定义空变量作为输出结合换行符\n和column输出

    RET="" declare -a HOST=() declare -a ALL_SVR=() declare -a FREESVR=() ;i<${#_ALL_AGENT_ ...

  4. 【转载】免费台北.edu教育邮箱及Office 365 Education申请

    免费的邮箱非常多,但是免费的.edu教育邮箱却很少有.记得上次不少人寻找.edu教育邮箱还是因为国外一家VPS商家推出的专门针对学生的优惠包,使用.edu教育邮箱就可以获得50美元的优惠,真的很划算. ...

  5. python:点赞功能

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  6. linq+映射数据库调用方法

      关于这一块.我在网上了解了很多.但是都没有找到自己想要的.通过各方面了解在linq 中调用映射的数据库函数以及存储过程方法如下. 1.传递对象参数//*注意:参数必须和你函数或者存储过程的参数一样 ...

  7. 嵌入式Linux > 简易安装思路,步骤记录

    思路就是把ipk文件通过ftp上传到linux上,然后通过opkg来安装. 很多的工具已经都能UI化这些操作了,命令行只是备用的工具, - 当所有工具都不好用或者遇到问题的时候,上命令行是最直接.快捷 ...

  8. 注释声明:TODO HACK XXX FIXME REVIEW

    注释有时候也可以用来给一段代码声明额外的信息.这些声明的格式以单个单词打头并紧跟一个冒号.可以使用的声明如下. TODO: 说明代码还未完成.应当包含下一步要做的事情. HACK: 表明代码实现走了一 ...

  9. 【前端】从输入URL到页面加载完成的过程中都发生了什么事情

    把URL分割成几个部分:协议(http, https).网络地址(xxx.xxx.xxx.xxx).资源路径(/xxx/xxx.xx).端口号(默认80). 如果地址不是一个IP地址,通过DNS(域名 ...

  10. linux开启telnet

    windows客户端如果通过cmd窗口连接到远程linux服务器,可以使用telnet: centos系统默认telnet 23端口是关闭的. 服务器本地使用nmap ip地址 -p 23 查看tel ...