README.md 1.09 KB

Wow English

  • flutter版本号:3.19.2

Android 使用 Whistle 抓包

为了让 Dio 的 HTTPS 请求能够经过 Whistle 解密,Android Debug 包默认允许任意服务器证书,不需要在项目中内置或指定 Whistle Root CA。普通 Release 包仍使用系统默认的严格证书校验。

构建方式

Debug 包默认允许 Whistle 抓包:

flutter build apk --debug

构建允许 Whistle 抓包的 Release 包:

flutter build apk --release --dart-define=ENABLE_WHISTLE_CA=true

构建正常生产 Release 包(不允许 Whistle 抓包):

flutter build apk --release

手机通过 Clash Meta 将流量转发到运行 Whistle 的电脑后,即可抓取 Dio 发出的 HTTPS 请求。因为抓包构建不绑定具体 CA,所以更换 Whistle 实例或重新生成 Root CA 后无需修改代码和重新导入证书。

Debug 包以及带 ENABLE_WHISTLE_CA=true 的 Release 包会接受任意 HTTPS 证书,无法抵御中间人攻击。此类 APK 只应在内部测试设备和测试人员之间分发,不能作为正式生产包发布。