MemRelay-Operation: memory-save:rapdrama-exp-charles-20260925-0346 MemRelay-Resource: 120e75c2-feea-450c-b525-5623768b318f
2.6 KiB
title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
| title | type | permalink | stable_id | scope | memory_type | project_id | usage_profile_id | status | revision | request_id | created_at | updated_at | tags | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 如何设置 MuMu 模拟器并安装抓包证书 | experience | main/projects/280dd2a0-d23d-4a71-91e1-dce4353163be/如何设置-mu-mu-模拟器并安装抓包证书 | 1a3372d5-c353-4c40-a2e0-e79ac8d095d2 | project | experience | 280dd2a0-d23d-4a71-91e1-dce4353163be | 0c9feb46-d06e-43cd-9ef0-c5813c84a998 | active | 1 | rapdrama-exp-mumu-20260925-0346 | 2026-09-24T19:48:53.170005+00:00 | 2026-09-24T19:48:53.170005+00:00 |
|
MuMu 设置中心 → 开发者选项:Root 开启,ADB 调试选「开启本地连接」,磁盘共享改成可写系统盘后重启。只读系统盘时 /system 不能写证书。可写生效后,/system 是 ext4 rw。谷歌套件用模拟器里的谷歌安装器按顺序安装。机型不要用红米、华为、荣耀,否则 Play 商店容易报设备未经过 Play 保护机制认证。连上 ADB 时读到的机型是 Redmi 23113RKC6C。
连接:
& "D:\Program Files\Netease\MuMu Player 12\shell\adb.exe" connect 127.0.0.1:16416
若提示 offline 或版本不匹配,用同一个 adb 执行 kill-server 后再 connect。模拟器重启后要重新 connect。adb root 可以把 adbd 提到 root;重启后会回到 shell,写系统区前要再执行一次。
安装系统证书(哈希文件名随证书变,当前是 275d036d.0):
adb root adb push 275d036d.0 /system/etc/security/cacerts/275d036d.0 adb shell chmod 644 /system/etc/security/cacerts/275d036d.0 adb shell chcon u:object_r:system_file:s0 /system/etc/security/cacerts/275d036d.0 adb reboot
重启后确认证书文件还在。只推送不重启,已经跑起来的进程不会信任新证书。
代理:
adb shell settings put global http_proxy 10.0.2.2:8888
这个全局代理会跨重启保留。从模拟器用 nc 把 HTTP 请求发到 10.0.2.2:8888,example.com 返回了 200,说明路径是通的。
坑:这台 MuMu 的 iptables 没有 owner 匹配,不能按 App uid 单独转发。曾把整台模拟器的 TCP 80/443 DNAT 到 10.0.2.2:8888,并丢弃 UDP 443。RaptDrama 随即报 Network connection failed。原因是 Flutter 的 dart:io 不走安卓系统代理,也不使用系统证书库,强制转发后 TLS 校验失败。这些 iptables 规则已经删除(nat OUTPUT 已清空,UDP 443 DROP 已去掉),重新打开 App 后账号接口恢复返回数据。没有让 Dart 信任 Charles 证书之前,不要再做这种全局转发。模拟器重启会清掉未持久化的 iptables,但不会清掉全局 http_proxy 和已写入系统区的证书。