Name Last Update
android Loading commit data...
assets Loading commit data...
ios Loading commit data...
lib Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
README.md Loading commit data...
analysis_options.yaml Loading commit data...
build.yaml Loading commit data...
pubspec.yaml Loading commit data...

README.md

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 只应在内部测试设备和测试人员之间分发,不能作为正式生产包发布。