Postman mock服务在Flutter安卓应用release版本中无法工作如何解决
问题原因及对应解决方案
- 安卓网络权限未配置:Flutter debug模式默认附带网络访问权限,release包需要手动声明权限。打开
android/app/src/main/AndroidManifest.xml,在manifest标签下、application标签外添加如下代码:<uses-permission android:name="android.permission.INTERNET" /> - 明文HTTP请求被系统拦截:如果你的Postman Mock API使用HTTP协议,安卓9及以上版本默认禁止release包发起明文HTTP请求。优先将接口地址替换为HTTPS协议(Postman Mock服务本身支持HTTPS访问);若必须使用HTTP,可在
AndroidManifest.xml的application标签中添加属性android:usesCleartextTraffic="true"临时放行。 - 代码混淆引发请求/解析异常:Flutter release打包默认开启R8代码压缩与混淆,未配置对应规则时,可能导致网络库类、接口响应实体类被混淆,出现参数传错、响应解析失败的问题。你需要在
android/app/proguard-rules.pro文件中添加对应网络库(如Dio、OkHttp)的免混淆规则,以及自定义实体类的免混淆规则。 - 环境配置错误:检查项目是否区分了debug、release的接口地址配置,确认release模式下调用的Postman Mock地址与debug模式完全一致,不存在拼写错误、环境变量未加载的问题。
你可以开启release包的可调试属性,连接Android Studio查看运行日志,即可快速定位具体错误类型。
内容的提问来源于stack exchange,提问作者Ammar Mohamed
相关产品推荐
相关产品推荐

