Android WebApp开发使用Genymotion连接Fiddler2/Charles代理调试
1. 目的
在模拟器的浏览器或app hybrid开发中遇到chrome调试代码为线上代码或者混淆代码时,可以利用fiddler/charles为genymotion配置代理,
可以方便的将代码替换为本地代码,此外还可以针对访问服务进行截获分析。
2. 配置
2.1 配置fiddler本地代理
2.1.1 Tools->Option->Connections
选中Allow remote computers to connect,并设置端口号(默认8888),如下图:
2.1.2 Tools->Option->HTTPS
选中Caputure HTTPS Connects,并且勾选Ignore server certificate errors,如图:
2.1.3 设置站点过滤
在fiddler右侧->Filters,勾选User Filters,在配置好genymotion代理后,访问www.baidu.com,如图:
2.2 配置genymotion代理参数
2.2.1 进入wifi设置,长按genymotion连接的wifi,弹出修改连接参数的对话框,如图:
2.2.2 设置wifi代理ip和端口
注意:android和genymotion模拟器中填写的代理ip不能是fiddler所在PC的IP,因为模拟器和PC不在同一个网段,
默认情况下,android模拟器中10.0.2.2代表PC,genymotion模拟器中10.0.3.2代表PC。Genymotion设置如图:
2.3 配置真机代理参数
先将真机连接到PC所在的同一局域网,真机代理IP为PC的IP。如图:
2.4 genymotion安装fiddler证书
如果在genymotion中访问https站点,需要在模拟器中安装fiddler证书。当在模拟器中配置好代理后,可访问代理站点下载证书。
在模拟器浏览器中输入http:10.32.82.50:8888(fildder所在PC的IP和fiddler代理端口号),代开代理站点后,点击FiddlerRoot certificate下载证书。
因为在WIFI上设置的代理,这里选择WIFI。
3. 配置本地站点(Ctrip H5站点专用,本地服务器nginx/apache搭建可参考其他文章)
3.1 配置IIS站点
配置与线上环境一致的站点路径,如线上路径为https://secure.ctrip.com/webapp/wallet,
具体配置图如下:
配置完成后,为本地站点绑定https 443端口,其中需要制作本地自签名https证书,如图:
3.2 配置host文件
在host文件将线上域名替换成本机,如图:
4. Genymotion中app内访问测试(Ctrip HybridApp专用,其他请看第5点)
App中调试代码需要依赖lizard grunt打包程序,命令如下:
grunt package2.0 --path=%Wallet_App%\Wallet --debug
使用debug打包时,需要修改gruntCfg.js中的相关配置,主要是host参数,配置成本机IP和port。如host: "10.32.82.50:80"。
Host参数主要是配置打包生成时webresource的所在的站点,debug模式打包不生成webresource目录,而是直接在lizardlocalroute.js中将路由指向本机webresource路径。
将打包生成的文件push到模拟器中即可调试。
首页调试源码:
Fiddler拦截信息:
5. Genymotion中浏览器测试(所有WebApp都可用)
首页调试源码:
Fiddler拦截信息:
6. 结语
通过以上的配置,可以基本解决调试过程中遇到的代码混淆问题,还你一个熟悉的代码环境。
Android WebApp开发使用Genymotion连接Fiddler2/Charles代理调试的更多相关文章
- Android高效开发环境(Genymotion,Gradle,Andriod Studio)
临近十一,项目接近上线,终于有些碎片时间可以查看一些博客. 这篇博客是Android开发大牛Cyril Mottier在去年写的博客,我把它翻译一下共享给国内志同道合的朋友,同时也是对自己一个很好的锻 ...
- android网络开发之测试机连接到服务器上面
1:本人使用Tomcat作为服务器软件,首先打开Tomcat.(可以在浏览器中输入http://www.127.0.0.1:8080/查看) 2:服务器后台使用Servelt开发,这里不再讲解. 3: ...
- 如何实现android蓝牙开发 自动配对连接,并不弹出提示框
之前做一个android版的蓝牙 与血压计通讯的项目,遇到最大的难题就是自动配对. 上网查资料说是用反射createBond()和setPin(),但测试时进行配对还是会出现提示,但配对是成功了 我就 ...
- vue-cli 前端开发,后台接口跨域代理调试问题
使用 webpack的方式开发的时候,前台开发过程中需要调用很多后台的数据接口,但是通常前后台分离的开发方式,后台的接口数据很可能是不方便或者是不能在前端同学的电脑上运行的,也就出现了所谓的跨域问题. ...
- 【Android 应用开发】Android之Bluetooth编程
Android Bluetopth 编程大牛文章 http://my.oschina.net/u/994235/blog?catalog=313604 ViewGroup 相关资料 : http:// ...
- Android WiFi开发教程(二)——WiFi的搜索和连接
在上一篇中我们介绍了WiFi热点的创建和关闭,如果你还没阅读过,建议先阅读上一篇文章Android WiFi开发教程(一)——WiFi热点的创建与关闭. 本章节主要继续介绍WiFi的搜索和连接. Wi ...
- 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行
需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行 实现步骤: 打开 Android Studio,创建一个 Andr ...
- 安装并配置 Android Studio 开发工具和 Genymotion 模拟器
需求说明: 安装并配置 Android Studio 开发工具和 Genymotion 模拟器. 熟练使用 Genymotion 模拟器,掌握 Genymotion 模拟器的基本设置和程序安装. 实现 ...
- 【转】android蓝牙开发 蓝牙设备的查找和连接
1. 首先,要操作蓝牙,先要在AndroidManifest.xml里加入权限 // 管理蓝牙设备的权限 <uses-permissionandroid:name="android. ...
随机推荐
- ASP.NET 操作Cookie详解 增加,修改,删除
Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109.它是网景公司的前雇员Lou Montulli在1993年3 ...
- linux ubuntu的root密码
安装完Ubuntu后忽然意识到没有设置root密码,不知道密码自然就无法进入根用户下.到网上搜了一下,原来是这麽回事.Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码.我们可 ...
- webpack练手项目之easySlide(二):代码分割(转)
在上一篇 webpack练手项目之easySlide(一):初探webpack 中我们一起为大家介绍了webpack的基本用法,使用webpack对前端代码进行模块化打包. 但是乍一看webpack ...
- jq prepend() 方法在被选元素的开头(仍位于内部)插入指定内容。 提示:prepend() 和 prependTo() 方法作用相同。差异在于语法:内容和选择器的位置,以及 prependTo() 无法使用函数来插入内容。
<html><head><script type="text/javascript" src="/jquery/jquery.js" ...
- 利用mysqldump 将一个表按条件导出数据
mysqldump -uroot -pdsideal -t dsideal_db t_resource_info --where="res_type=1 and group_id=1 and ...
- ACM: HDU 1874 畅通工程续-Dijkstra算法
HDU 1874 畅通工程续 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Desc ...
- 用存储过程 将大段的SQL藏起来
在日常工作中,当面对比较复杂的数据库操作时不免要写一些比较长的SQL,由于某系SQL有些长(目前我写的最长的貌似有30多行吧),这时候长会面临这个 方法 优点 缺点 用"+"串 ...
- 升级到EF6 两个注意事项
1.依据MSDN的官方描述: In previous versions of EF the code was split between core libraries (primarily Syste ...
- BZOJ4499: 线性函数
Description 小C最近在学习线性函数,线性函数可以表示为:f(x) = kx + b.现在小C面前有n个线性函数fi(x)=kix+bi ,他对这n个线性函数执行m次操作,每次可以: 1.M ...
- Linux常见练习题
1./dev/hda5在Linux中表示什么? A. IDE0接口上从盘 B. IDE0接口上主盘的逻辑分区 C. IDE0接口上主盘的第五个分区 D.IDE0接口上从盘的扩展分区 ...