1 雷电模拟器(版本为最新版9.1.99)需设置root权限。"软件设置"---其他--打开"root权限","adb调试"为"开启本地连接"。入口如下:

2 雷电模拟器需打开磁盘读写权限。"软件设置"------磁盘------系统盘设置----"可写入"。
3 导出charles根证书,转换格式后写入雷电模拟器。打开charles软件,点击--Help---SSL Proxying----Install Charles Root Certificate【注意存储位置--本地计算机---受信任的根证书颁发机构】,然后点击"Save Charles Root Certificate",保存在本机磁盘,得到一个.pem格式证书。

4 在windows上安装openssl,下载地址https://slproweb.com/products/Win32OpenSSL.html,
Light版就够用了。
5 用openssl计算证书的哈希值,假定证书为cacert.pem,命令如下:
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
6 将cacert.pem重名为 哈希值.0, 例如cf029d15.0(linux系统要求)
7 确保雷电模拟器已连接并开启 USB 调试。
8 后续用adb或者adb shell命令即可:
执行的命令:
- adb root
- adb push <证书文件> /sdcard
- mount -o remount,rw /system
- mount -o remount,rw /system
- cp /sdcard/<证书文件> /system/etc/security/cacerts/
- chmod 644 /system/etc/security/cacerts/<证书文件>
- 操作完成后请手动重启雷电模拟器使证书生效
【验证证书】是否成功:
- 方法一:charles能抓到HTTPS流量并查看其内容即可。
2 方法二:在雷电模拟器----设置----安全性和位置信息---加密和凭据----信任的凭据---系统,下来至最后,能看到charles证书,且证书的有效日期、内容等完全一致则正确。

【极品排错】如果根证书被拷贝到了/system/etc/security/cacerts/目录下,则该证书一定能起作用。如果不起作用,则一定导入的证书是错的(比如hash值不对,比如有效期不对---与window端有效期不一致,与windows端签名不一致等,比如权限不是644等)。
【拓展】经测试,木木模拟器(最新版5.15.3)遵循同样原理,一定能成功(比如先开root权限,写入磁盘权限,然后拷贝正确证书即可)。测试完美通过。