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

相关推荐
元Y亨H2 天前
MacBook Air 开发神器:IDEA 与 PyCharm 极简安装及环境配置
macos
yuanyxh3 天前
macOS 应用 - 纯对话生成
前端·macos·ai编程
AI创界者5 天前
PilotTTS 一键整合包(Win/Mac):8G 显存畅跑,实测解锁情绪与副语言的精准控制
人工智能·macos·aigc·音视频
AirDroid_cn5 天前
系统终端与iTerm2字体看起来不一样?macOS Sequoia统一渲染指南
macos
JiaWen技术圈5 天前
2026 年的 macOS 磁盘清理方法
macos
lichong9515 天前
让AI自己用电脑!Cua:后台操作鼠标键盘,Mac/Windows/Linux全支持
人工智能·macos·ai·计算机外设·agent·提示词
A尘埃5 天前
批处理命令(Linux/Mac、Windows项目启动脚本)
linux·windows·macos
他们都不看好你,偏偏你最不争气6 天前
【iOS】Runtime - Part 2 && 消息发送:缓存、查找与转发
macos·ios·objective-c·cocoa
Deepzz6 天前
macOS 上调教第三方鼠标的一些经验:从滚动顺滑到输入法自动切换
macos·swift·鼠标