You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter模拟器请求API正常 真机安装APK后空白屏报300错误如何解决

问题现象
  • 使用ListView.builder展示API拉取的列表数据,模拟器运行完全正常,打包APK安装到安卓真机后页面空白,Leave History标签下无数据展示
  • 真机运行效果图:
    真机运行效果图
  • 模拟器运行效果图:
    模拟器运行效果图
  • 侧边栏跳转进入该页面时,catchError捕获错误:DioError [DioErrorType.response]: Http status error [300],但真机通过数据线连接电脑调试时运行正常
排查步骤

1. 网络配置问题(对应300报错)

  • 检查接口地址配置:模拟器上使用localhost/127.0.0.1默认指向开发电脑,真机安装APK后访问localhost是指向真机本身,自然找不到接口。将接口地址localhostUrlLeaveHistoryON改为开发电脑的局域网IP(格式如192.168.xx.xx),测试时确保真机和电脑处于同一WiFi环境。
  • 检查安卓网络权限:在android/app/src/main/AndroidManifest.xml的<manifest>标签下添加网络权限配置,debug模式会默认附带该权限,release打包不会自动添加,是连接调试正常、单独装APK异常的常见原因:
<uses-permission android:name="android.permission.INTERNET" />
  • 如果你用的是HTTP(非HTTPS)接口,安卓9及以上系统默认禁止明文HTTP请求,需要额外配置:
    在android/app/src/main/res/xml下新建network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

然后在AndroidManifest.xml的<application>标签添加属性:

android:networkSecurityConfig="@xml/network_security_config"
  • 配置Dio支持重定向:300属于重定向类状态码,初始化Dio的时候添加配置即可自动跟随重定向:
Dio dio = Dio(BaseOptions(
  followRedirects: true,
  maxRedirects: 3,
));

2. 布局逻辑问题

当前代码存在布局错误,调试模式下可能忽略警告正常运行,release模式会直接导致列表不显示:

  • Expanded组件只能放在Row/Column/Flex的子节点下,你当前把Expanded作为Container的直接子节点属于无效用法,会触发布局异常。修改方案:把外层的Container换成Column,或者直接移除Expanded(你已经给ListView.builder加了shrinkWrap: true属性,不需要嵌套Expanded)。
  • 全局变量historyList没有清空逻辑,每次进入页面都会重复添加数据,建议把historyList和loader都改成_getRecord方法内的局部变量,不要用全局状态存储,避免数据污染。
  • FutureBuilder的future参数每次页面build都会重新发起请求,建议把_getRecord()的返回值存在State的变量里,页面初始化的时候调用一次即可,避免重复请求。

3. 其他可选排查点

  • 打包release APK如果开启了混淆,要给实体类leaveHistory添加混淆规则,否则序列化的时候可能取不到字段值,导致列表空白。
  • 检查接口返回的字段名大小写是否和代码里取值的一致,比如代码里取historyData["Date"],如果接口返回的是小写date,调试模式可能兼容读取,release模式会取不到值。

内容的提问来源于stack exchange,提问作者TimeToCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:57:02