Blame view

README.md 1.09 KB
da57e288   Key   fixed: Android打包不...
1
  # Wow English
2a29701f   liangchengyou   feat:提交代码
2
  
da57e288   Key   fixed: Android打包不...
3
  * flutter版本号:3.19.2
47569bdf   吴启风   feat:支持按需启用 Whist...
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
  ## Android 使用 Whistle 抓包
  
  为了让 Dio 的 HTTPS 请求能够经过 Whistle 解密,Android Debug 包默认允许任意服务器证书,不需要在项目中内置或指定 Whistle Root CA。普通 Release 包仍使用系统默认的严格证书校验。
  
  ### 构建方式
  
  Debug 包默认允许 Whistle 抓包:
  
  ```bash
  flutter build apk --debug
  ```
  
  构建允许 Whistle 抓包的 Release 包:
  
  ```bash
  flutter build apk --release --dart-define=ENABLE_WHISTLE_CA=true
  ```
  
  构建正常生产 Release 包(不允许 Whistle 抓包):
  
  ```bash
  flutter build apk --release
  ```
  
  手机通过 Clash Meta 将流量转发到运行 Whistle 的电脑后,即可抓取 Dio 发出的 HTTPS 请求。因为抓包构建不绑定具体 CA,所以更换 Whistle 实例或重新生成 Root CA 后无需修改代码和重新导入证书。
  
  > Debug 包以及带 `ENABLE_WHISTLE_CA=true` 的 Release 包会接受任意 HTTPS 证书,无法抵御中间人攻击。此类 APK 只应在内部测试设备和测试人员之间分发,不能作为正式生产包发布。