Mac+MuMu 模拟器 + Charles 抓包配置全流程

一、准备工具

  1. 软件

二、步骤 1:MuMu 模拟器基础配置(必须先做)

这一步是解决 "证书推不进去、Root 失败" 的关键!

  1. 打开 MuMu 模拟器,点击顶部菜单栏「设置中心」→「其他」→ 勾选开启 Root 权限 → 保存;
  2. 继续点「设置中心」→「数据」→ 勾选可写系统盘 → 保存后重启模拟器(不重启不生效)

三、步骤 2:生成 Charles 证书并改名(适配安卓系统)

charles-ssl-proxying-certificate.pem 换成你自己的证书名称

安卓系统识别证书需要 "哈希名 +.0后缀",得先给证书改名:

  1. 打开 Charles,点击「Help」→「SSL Proxying」→「Save Charles Root Certificate...」→ 把证书存到桌面;
  1. 打开 Mac 终端,执行命令生成证书哈希(命令执行完复制第一行的字符串,比如81fcbc4a ):

    bash

    运行

    复制代码
    openssl x509 -subject_hash_old -in ~/Desktop/charles-ssl-proxying-certificate.pem
  2. 给证书改名(81fcbc4a换成你生成的哈希 ):

    bash

    运行

    复制代码
    cp ~/Desktop/charles-ssl-proxying-certificate.pem ~/Desktop/81fcbc4a.0

四、步骤 3:用 ADB 把证书推到模拟器系统目录

这一步是 "让模拟器信任 Charles 证书" 的核心:

  1. 终端进入 MuMu 的 ADB 工具目录(复制粘贴直接执行): bash

    运行

    复制代码
    cd /Applications/MuMuPlayer.app/Contents/MacOS/MuMuEmulator.app/Contents/MacOS/tools/
  2. 连接模拟器(把16385换成你步骤 1 记下的 ADB 端口):

    bash

    运行

    复制代码
    ./adb connect 127.0.0.1:16385
    # 验证是否连接成功(显示device说明成功)
    ./adb devices
  3. 获取 Root 权限(解决adbd not running as root):

    bash

    运行

    复制代码
    ./adb -s 127.0.0.1:16385 root
    sleep 2
    ./adb reconnect
  4. 推送证书到系统目录(把81fcbc4a.0换成你改的证书名):

    bash

    运行

    复制代码
    ./adb -s 127.0.0.1:16385 push ~/Desktop/81fcbc4a.0 /system/etc/security/cacerts/
    # 设置证书权限(必须)
    ./adb -s 127.0.0.1:16385 shell "chmod 644 /system/etc/security/cacerts/81fcbc4a.0"

五、步骤 4:配置 Charles + 模拟器代理(解决连接失败)

这一步是 "让模拟器流量走 Charles":

  1. Charles 设置
    • 点击「Proxy」→「Proxy Settings」→ 端口填8888,勾选「Enable HTTP Proxy」;
    • 点击「Proxy」→「SSL Proxying Settings」→ 点「Add」,填*(Host)和443(Port),勾选「Enable SSL Proxying」。
  1. 模拟器代理设置
    • 等 Charles 弹出 "来自 XXX 的连接"(比如10.1.5.57),点击「允许」;
    • 打开 MuMu 模拟器→「设置」→「网络和互联网」→ 编辑当前 WLAN:
      • 代理:手动;
      • 代理主机名:填 Charles 弹窗里的 IP(比如10.1.5.57);
      • 代理端口:8888
      • 保存后重启 APP。

六、测试抓包

打开模拟器里的 APP(比如浏览器访问https://www.baidu.com),Charles 左侧会出现请求,点进去就能看到明文 ------ 成功!

避坑总结(遇到问题先看这里)

  1. 设备找不到 :重启 ADB 服务(./adb kill-server && ./adb start-server);
  2. 证书推不进去:必须开 "可写系统盘 + Root 权限",重启模拟器;
  3. 代理连不上:用 Charles 弹窗里的 IP 配置模拟器代理,别填 127.0.0.1;
  4. HTTPS 乱码:确认 Charles 开了 SSL Proxying,证书哈希名正确。

解决Charles30分钟关闭问题:

弹窗后:

3.框内输入

Registered Name: https://zhile.io

License Key: 48891cf209c6d32bf4

相关推荐
pe7er3 天前
macOS 应用无法打开(权限问题)解决方案
macos·mac
harmful_sheep5 天前
mac生效的终端查看
macos
iOS门童6 天前
macOS 应用"已损坏"无法打开?一文搞懂 Gatekeeper 与解决方案
macos
NPE~6 天前
[工具分享]Maccy —— 优雅的 macOS 剪贴板历史管理工具
macos·教程·工具·实用工具
差不多程序员6 天前
Mac安装OpenClaw-cn保姆级教程
macos
dzl843946 天前
mac 安装python
开发语言·python·macos
Bruce_Liuxiaowei6 天前
在 macOS 上通过 Docker 本地安装 OpenClaw 完整教程
macos·docker·容器·openclaw
阿捏利6 天前
详解Mach-O(十五)Mach-O __DATA_CONST
macos·ios·c/c++·mach-o
ShikiSuen6 天前
macOS 的 CpLk 中英切换卡顿的元凶在 InputMethodKit 本身
macos
xiayutian_c6 天前
如虎添翼-MacOS
macos