android webview远程调试
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远程调试的更多相关文章
- Android Stadio调试gradle 插件 || Android Stadio 远程调试 || Anroid APT调试
有时候,自己开发了gralde插件,想调试一下.毕竟打印log 成本太高.效率太低.怎么做呢? 第一种方法: 1.执行gradlew 命令的时候,加上几个参数:-Dorg.gradle.debug=t ...
- android:如何通过chrome远程调试APP中的webView的h5代码
今天出现一个问题,在老板的Mate9 Pro上,我们APP的所有H5页面都是一片空白,但是在其他手机上都是好的,那么我们就怀疑是h5报错了,但是到底是什么错,无法得知,所以就想要可以像在pc的chro ...
- Mobile Web 调试指南(2):远程调试
原文:http://blog.jobbole.com/68606/ 原文出处: 阿伦孟的博客(@allenm ) 第一篇中讲解了如何让手机来请求我们开发电脑上的源码,做到了这步后,我们可以改完代码立即 ...
- 安卓手机移动端Web开发调试之Chrome远程调试(Remote Debugging)
一.让安卓打debug模式的apk包 二.将电脑中的chrome升级到最新版本,在chrome浏览器地址栏中输入chrome://inspect/#devices: 在智能手机还未普及时,移动设备的调 ...
- chrome 远程调试(转)
http://www.tuicool.com/articles/ZJfeAzi 由于 appspot.com被墙,一般调试不成功. 随着智能手机的普及,移动设备的浏览器功能越来越强大,我们用手机上网时 ...
- 使用chrome远程调试设备及调试模拟器设备
使用chrome开发工具远程在Android上远程调试 准备工作 开始远程调试之前,需要做好如下准备: 在你电脑上安装Chrome 32 或者更新的版本 一根连接Android设备的USB线 手机系统 ...
- chrome 远程调试相关问题
1.使用chrome remote debug时打开inspect时出现一片空白 2.如何不用FQ可以享受Chrome for android的远程调试功能 3.chrome://appcache-i ...
- Android WebView File域同源策略绕过漏洞浅析
0x00 我们首先讲一个webView这种方法的作用: webView.getSettings().setAllowFileAccessFromFileURLs(false); ...
- 真机远程调试 ( IOS Android 以及微信,weex)
1.以前cordova远程调试,Android的直接连接USB后,用chrome打开chrome://inspect网址 IOS的打开Safari的developer下. 这是因为cordova的we ...
随机推荐
- Dynamics AX 2012 R2 AIF No Endpoint Behavior Named 'clientEndpointBehavior'
最近,Reinhard在使用Http Adapter类型的AIF入站端口时,总是报以下错误: Server Error in '/MicrosoftDynamicsAXAif60' App ...
- 学习Linux系列--安装软件环境
本系列文章记录了个人学习过程的点点滴滴. 回到目录 10.安装Lamp套件. 最简单的方式,如下 sudo tasksel install lamp-server Apache 菜鸟教程 Ubuntu ...
- [OSG][osgEarth]osgEarth例子程序简介
1.osgearth_graticule:生成经纬线. 2.osgearth_annotation:各类标注(点.线.面.模型.文本等). 3.osgearth_city:加载一个城市三维模型,可以浏 ...
- 什么是Unicode letter
起因:从一段代码说起 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...
- CURL命令详解
curl命令是一个强大的网络工具,它能通过http,ftp等方式下载.上传文件.其中curl远不止这些功能,大家可以通过阅读手册获取更多的信息,类似的工具还有wget. curl命令使用了libcur ...
- checkbox的readonly效果
用disabled会使控件整个灰掉,checkbox没有readonly属性,可以用下面的写法: <input id="check1" type="checkbox ...
- JSP实现 乘法口诀输出
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- GOAndroid的安装和配置
android环境的配置还是比较复杂的,特别对于我这样一直使用mfc的程序员来说,有很多观念上需要转变.好在配置成功后就能够不断复用,那么这样的问题值得整理出来 一.安装jdk 二.解压adt-bun ...
- 封装好的AFN网络请求框架和MBProgress
demo:https://github.com/IMCCP/CCPAFNNetworking(收藏下来)
- MATLAB地图工具箱学习总结(一)从地图投影说起
MATLAB地图工具箱学习总结(一)从地图投影说起 前言 本学期地图投影课上,李连营老师建议我们使用MATLAB完成每周的作业.从大二上学期开始接触MATLAB学习数学运算和地理数据处理的我,自然不会 ...