尝试了各种Mac版本的安卓模拟器,包括Android Studio、Genymotion以及国内的网易MuMu、夜神、蓝叠、腾讯手游助手,做的最好的是Android Studio,最难上手的也是Android Studio。

Android Studio有两种架构类型的镜像可选,分别是x86和arm,安装arm架构的镜像,非常卡,没法用,x86的镜像很流畅,只能用来调试基于x86架构的App

其它几个从安装到使用都非常简单,国内的几个,稳定性都比较差,全部都存在启动时进度卡在99%的问题,相对稳定的是网易MuMu,至于Genymotion,比较卡顿,安装App之后无法启动,因此,下面的教程仅适用网易MuMu

一、模拟器调试

1、安装模拟器:下载网易MuMu模拟器并安装,有window版和Mac版,本文针对Mac版

2、安装App:启动模拟器,点击底部APK安装,选择Android版App,等待安装完成

3、安装adb:adb全称Andorid Debug Bridge,中文名安卓调试桥

brew cask install android-platform-tools

  

安装完成后,打开模拟器内的App,然后在开发机上执行以下命令,查看当前已连接的模拟器/设备的列表

adb devices

  

如果列表是空,执行以下命令再试

adb kill-server && adb server && adb shell

  

如果还是空,重启模拟器后再试

4、调试:

4.1、如果开发环境是通过IP访问,在App内打开开发环境,特别注意,访问开发环境的IP固定为10.0.2.2,(为什么是10.0.2.2?)而不是开发机本身的IP,端口仍是开发环境的端口,在开发机端chrome打开chrome://inspect/#devices,就能看到已经连接的MuMu模拟器,模拟器名称下方就是模拟器打开的webview,点击inspect弹出控制台开始调试

4.2、如果开发环境绑定了本地域名,通过域名的方式访问,那么有两种方式访问开发环境

4.2.1、修改模拟器hosts:在Mac终端输入

adb shell

  

进入设备shell,绑定IP 10.0.2.2 到本地域名,建议通过echo的方式修改hosts,因部分编辑器换行符编码可能导致修改hosts不生效

echo 10.0.2.2 本地域名 >> /system/etc/hosts

  

然后就可以在模拟器通过本地域名访问开发环境了

4.2.2、将电脑设为手机代理:《设置电脑为手机代理》

二、真机调试

1、设置手机代理,参考《设置电脑为手机代理》《iPhone调试移动端webview》,如果用的是spy-debugger做代理, 可以直接用spy-debugger调试,也可以用下面提供的方式调试

2、打开手机USB调试开关,用数据线连接手机和开发机

3、开发机打开chrome访问chrome://inspect/#devices,就能看到已经连接的手机设备,点击链接下方的inspect开始调试

Android调试移动端webview的更多相关文章

  1. iPhone调试移动端webview

    一.模拟器调试 1.启动Xcode 2.选择菜单Xcode - Open Developer Tool - Simulator 3.启动Simulator后,选择Simulator菜单Hardware ...

  2. Chrome浏览器如何调试移动端网页信息

    Chrome浏览器如何调试移动端网页信息 2017年08月12日 12:42:20 阅读数:835 最近在弄项目,用WebView加载一个页面,想追踪页面中一个按钮的点击事件.这个可能就需要调试这个页 ...

  3. 用Chrome 浏览器调试移动端网页 chrome://inspect/#devices

    谷歌输入(chrome://inspect/#devices) 我使用的是小米(红米NOTE2 ),电脑是win 10 系统,以下几步就可以轻松使用浏览器内置的功能调试移动端网页了: 1. 手机开启调 ...

  4. Android混合开发之WebView与Javascript交互

    前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App.Web App.Hybrid App三种方式,个人觉得目前以Hybri ...

  5. android基础开发之WebView

    WebView 是android平台沟通 http & H5 页面的桥梁. 但是google对这块的表述不是很清晰,而且SDK里面基本看不到源码,只有一个接口而已. 传送:http://dev ...

  6. android软件开发之webView.addJavascriptInterface循环渐进【一】

    本篇文章由:http://www.sollyu.com/android-software-development-webview-addjavascriptinterface-cycle-of-gra ...

  7. Android调试优化篇

    为了开发出商业级的应用程序,大规模的測试是不可避免的,同一时候为了提高应用程序的执行速度,须要进行必要的优化.在Android中.提供了丰富的调试与优化工具供开发者应用,主要包含模拟器和目标端等两种场 ...

  8. H5 和移动端 WebView 缓存机制解析与实战

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/qHm_dJBhVbv0pJs8Crp77w 作者:叶 ...

  9. Android调试桥-Android Debug Birdge详解

    原文:http://android.eoe.cn/topic/summary Android调试桥-Android Debug Birdge Android调试桥(adb)是一个多功能的命令行功具,它 ...

随机推荐

  1. Android零基础入门第43节:ListView优化和列表首尾使用

    原文:Android零基础入门第43节:ListView优化和列表首尾使用 前面连续几期都在学习ListView的各种使用方法,如果细心的同学可能会发现其运行效率是有待提高的,那么本期就来一起学习有哪 ...

  2. 中国2017 Google 开发者大会第一天简单回顾

    昨天有幸参加了中国2017 Google 开发者大会,在这第一天就收获满满,昨天太忙了,今天早晨来一起简单回顾一下,可以让没有参加的童鞋们感受一下现场的温度. 早早就来到了会议现场,外面看不出什么特别 ...

  3. Android零基础入门第71节:CardView简单实现卡片式布局

    还记得我们一共学过了多少UI控件了吗?都掌握的怎么样啊. 安卓中一些常用控件学习得差不多了,今天再来学习一个新的控件CardView,在实际开发中也有非常高的地位. 一.CardView简介 Card ...

  4. DIXML(包括所有的W3C XML标准)

    Description:DIXml is an embedded XML, XSLT, and EXSLT processing library for Delphi (Embarcadero / C ...

  5. Android 8通过startService引起crash问题

    Android 8.0 不再允许后台service直接通过startService方式去启动,否则就会引起IllegalStateException.解决方式: if (Build.VERSION.S ...

  6. 修改GitHub上项目语言显示

    问题 最近将自己以Scala为主语言写的博客放到github上了.由于使用了富文本编辑器.jQuery.Bootstrap等第三方插件,导致js.css等代码远远超过你自己写的代码. 于是也就成这样了 ...

  7. MQTT-CN MQTT协议中文版

    欢迎任何形式的转载,但请务必注明出处:http://www.cnblogs.com/liangjingyang 项目地址:https://github.com/liangjingyang/MQTT-C ...

  8. Qt5---ftp上传功能(使用组合的办法实现功能,QNetworkAccessManager自动管理分片上传,用QLoggingCategory屏蔽SSL警告)

      从Qt的版本进化中可以知道,在Qt4中的QFtp类到了Qt5中已经没有了,虽然可以通过在Qt5中自己编译出QFtp,但是Qt5中提供的QNetworkAccessManager在发送和请求网络方面 ...

  9. Qt之获取本机网络信息(超详细)

    经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的“开始键+R键”,然后在弹出的对话框中输入“CMD”,回车 另外,还可以依次点击 开始>所有程序>附件>命令提示符 2 ...

  10. Realm_King 之 .NET操作XML完整类

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;u ...