尝试了各种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. 龙芯GO!龙芯平台上构建Go语言环境指南

    龙芯软件生态系列——龙芯GO!龙芯平台上构建Go语言环境指南2016-07-05 龙芯中科1初识Go语言Go语言是Google公司于2009年正式推出的一款开源的编程语言,是由Robert Gries ...

  2. Linux数据流的重定向

    >覆盖内容:>>追加内容:<和>的区别在于重定向方向不一致,>表示重定向从左到右:>>和<<类似 简单的重定向 0 /dev/stdin 标 ...

  3. Windows下配置QT OpenCV

    OpenCV-Study:Windows下配置OpenCV 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:XP OpenCV版本:2.4 ...

  4. CrashRpt_v.1.4.2_vs2008_also_ok

    1.windows多线程程序release版崩溃记录工具,便于该如何查找错误. 2.此工具主要用来配置windbug工具,一种排查程序发布版本崩溃这种非常难处理的缺陷的方法,非常棒,amazing! ...

  5. win7访问部分win2003速度慢

    解决办法: 关闭TCPIP协议的自动优化调整功能,在win7上,以管理员身份运行cmd,输入 netsh interface tcp set global autotuninglevel=disabl ...

  6. java.lang.ClassNotFoundException: org.jaxen.JaxenException 解决方法

    当遇到如下exception时, May 11, 2017 4:23:17 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE ...

  7. C语言实现常用数据结构——二叉树

    #include<stdio.h> #include<stdlib.h> #define SIZE 10 typedef struct Tree { int data; str ...

  8. mpvue 小程序加载不了图片 Error: Failed to load local image resource /images/xx.png the server responded with a status of 404 (HTTP/1.1 404 Not Found)

    mpvue开发小程序时候,要添加静态本地图片 <img src="../../images/bg.png" alt=""> 会报错: VM14878 ...

  9. 【JVM】虚拟机初见-运行时数据区图解

    本文是听咕泡XX公开课视频整理的笔记,较书本更为总结,感谢. 计算机模型(汇编知识):数据集(数据).指令集(操作指令,+-等).控制集(分支循环) JVM运行时的数据区: 程序计数器(每个线程都有) ...

  10. ThinkPHP判断post,get操作

    define('REQUEST_METHOD',$_SERVER['REQUEST_METHOD']); define('IS_GET', REQUEST_METHOD =='GET' ? true ...