Flutter/Android Release 包连不上网?AndroidManifest INTERNET 权限排查实录
Flutter/Android Release 包连不上网AndroidManifest INTERNET 权限排查实录作者FungLeo 适用Flutter / Android现象本地flutter run一切正常可一旦flutter build apkrelease装到真机所有接口全部网络连接失败。前言说实话这个坑我踩得挺丢人的。事情是这样的我本地用flutter run跑得好好的接口一个一个都通心想这项目稳了就打了个 release 包发给测试。结果测试同学回我一句“你这 app 是不是没网啊所有页面都转圈圈。”我当时就懵了。代码一行没动debug 明明好好的怎么一打包就不行了于是我开启了漫长的排查之路——先是怀疑 DNS 解析有问题然后又想是不是 IPv6 的锅再后来甚至开始怀疑是不是哪个三方插件在 release 模式下把网络栈给污染了。各种抓包、换网络、清缓存折腾了大半天最后发现……就特么一行权限的事儿。所以今天我把这个坑写出来希望各位看官别像我一样在一个这么基础的地方浪费大半天。根因debug 清单自带权限release 不自带要搞明白得先说清楚 Flutter 工程在android/app/src/下那三个清单目录。android/app/src/ ├── main/AndroidManifest.xml# 主清单release 只合并它├── debug/AndroidManifest.xml# debug 构建时合并└── profile/AndroidManifest.xml# profile 构建时合并Flutter 官方模板在debug / profile的清单里默认就给咱们写好了这么一行uses-permissionandroid:nameandroid.permission.INTERNET/而src/main的主清单默认是不带这一行的。这就埋下了雷。release 构建的时候系统只合并main这一个清单debug / profile 里那行权限压根不会被带进去。于是最终打出来的包里没有联网权限。Android 系统看到没有INTERNET权限直接就把所有 Dio 请求给拒了表现到界面上就是一片网络连接失败。debug 为什么一直能连因为它借着 debug 清单里那行权限的东风。你以为是你代码写得好其实是对方送的。这就是为什么debug 永远能连、release 全版本都不行而且和你的任何代码改动都没关系。这个坑最恶心的地方就在这它披着网络问题的外衣骗你去翻网络层实际上根子压根不在那。我是怎么一步步排查的既然说到这了我也跟各位看官唠唠我当时那段弯路免得你们再走一遍。先看报错日志。release 模式下 Dart 的异常是不抛红屏的这个后面 A05 会专门讲所以控制台干干净净啥有用的都没有。这就更让人往环境问题上想了。怀疑 DNS / IPv6。换了手机热点、切了 4G、甚至把域名换成 IP 直连结果都一样。基本排除。怀疑三方库。项目里用了好几个网络相关的插件挨个注释掉试还是连不上。这时候其实已经该警惕是不是请求根本没发出去了。最后查清单。随便写了个最小 demo 比对才发现 release 包里压根没有INTERNET权限这个声明。你看绕了一大圈真正的元凶就静静躺在src/main/AndroidManifest.xml里等着我去发现。修复在主清单显式声明办法简单得让人想笑。在android/app/src/main/AndroidManifest.xml的manifest根节点下和其他uses-permission并列把那行补上manifest...!-- 原来的权限 --uses-permissionandroid:nameandroid.permission.INTERNET/!-- 其他已有权限 --/manifest然后老规矩清一下重新打# 清理构建缓存避免旧清单被沿用flutter clean# 重新打 release 包flutter build apk装到真机上接口唰唰就通了。那一刻我心情很复杂——既想骂街又想笑。还有哪些权限也容易踩这个坑其实不止INTERNET一个。凡是你只在 debug 清单里见过、main 清单里没写的权限release 都会丢。常见的几个android.permission.INTERNET—— 联网最基础的必加。android.permission.ACCESS_NETWORK_STATE—— 如果你代码里要判断网络类型WiFi / 移动数据这个也得进main否则 release 下一样歇菜。其他如打电话、定位、存储之类的敏感权限模板默认也不会给你塞进main该声明声明。一句话release 需要的权限一律写进src/main别去指望 debug 清单替你兜底。小结好啦这个坑的故事就讲到这。回头看它就是个清单合并默认行为差异导致的排查盲区debug 清单自带权限、main 清单不带release 只认 main于是联网功能在 release 下凭空消失。最坑的是它伪装成网络问题让你去翻根本没问题的网络层代码。各位看官记住一句话就行遇到只有 release 才出现的联网问题第一反应查清单权限别一上来就怀疑人生。最后如果这篇小文帮你省下了大半天折腾的时间希望看官您用发财的小手点个小赞哈要是你也被这个坑打过脸欢迎在评论区吐槽让更多同学看到少走弯路。谢谢大家本文由 FungLeo 主导Deepseek 优化校阅转发请注明首发地址谢谢大家。

相关新闻

ROC曲线实战指南:从原理到模型选择与评估

ROC曲线实战指南:从原理到模型选择与评估

1. 从“模型选择变少”说起:为什么我们更需要看懂ROC曲线? 最近在和一些做算法的朋友聊天,听到一个挺有意思的说法,叫“模型选择变少”。这当然不是说能用的算法变少了,而是指在项目实践中,尤其是在业务压力…

2026/10/24 19:54:01 阅读更多 →
Android Studio中文语言包终极指南:三步实现全界面汉化

Android Studio中文语言包终极指南:三步实现全界面汉化

Android Studio中文语言包终极指南:三步实现全界面汉化 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack 你是否厌倦了在…

2026/10/25 4:36:31 阅读更多 →
同步电机与构网型变流器交互稳定性仿真分析

同步电机与构网型变流器交互稳定性仿真分析

1. 项目背景与核心问题在电力电子与电机控制领域,同步电机与构网型变流器的交互稳定性一直是工业应用中的关键挑战。当电网频率波动时,传统同步电机的惯性响应与变流器的快速调节特性会产生复杂的动态耦合。去年参与某风电场并网项目时,我们就…

2026/10/25 13:45:47 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →