从零创建手机APP——Android系统apk文件

发布时间:2026/9/26 12:55:11

从零创建手机APP——Android系统apk文件 从零创建APK适用环境Windows 11目标从一台新电脑开始完成 Flutter Android 开发环境搭建并最终在 Android 真机上成功执行flutter run。目录1. 环境与工具说明1.1 需要准备的工具1.2 各工具之间的关系2. 开发环境安装与配置2.1 安装 VS Code 与 Flutter 扩展2.2 安装 Flutter SDK 并检查 PATH2.3 安装 Android Studio 与 Android SDK2.4 安装 Android SDK Tools2.5 接受 Android SDK License2.6 使用 flutter doctor 检查环境3. 创建项目与 Android 真机连接3.1 创建 Flutter Empty Application3.2 开启Android开发者模式3.3 USB 连接与调试授权3.4 使用 ADB 检查手机3.5 使用 Flutter 检查设备4. 第一次 flutter run 与环境验收4.1 第一次运行4.2 判断是否运行成功4.3 调试状态与 Hot Reload5. 常见问题与故障排查5.1 flutter 命令无法使用5.2 cmdline-tools component is missing5.3 Android License 异常5.4 Chrome 和 Visual Studio 红叉5.5 ADB 或 Flutter 检测不到手机5.6 Gradle 网络超时5.7 Debug APP 体积较大5.8 推荐排错顺序1. 环境与工具说明1.1 需要准备的工具从零开发并生成 Android APK建议准备工具主要作用Windows 11开发系统VS Code写代码、运行终端、调试Flutter SDKFlutter 开发核心工具链DartFlutter 使用的编程语言Android Studio安装和管理 Android SDKAndroid SDKAndroid 编译、ADB、平台工具GradleAndroid 构建系统OpenJDKGradle 运行所需 Java 环境ADB电脑与 Android 手机之间的调试通信Android 真机安装和运行 APK日常开发主要使用VS Code FlutterAndroid Studio 主要承担 Android SDK 的安装与管理。1.2 各工具之间的关系可以把完整构建链理解为VS Code ↓ 编写 Flutter / Dart ↓ Flutter SDK ↓ Gradle ↓ OpenJDK ↓ Android SDK ↓ 生成 APK ↓ ADB ↓ 安装到 Android 手机简单记忆VS Code 工作台 Flutter SDK APP 开发工具箱 Android SDK Android 官方构建工具 Gradle 构建系统 OpenJDK Gradle 的 Java 运行环境 ADB 电脑和手机之间的调试通道2. 开发环境安装与配置2.1 安装 VS Code 与 Flutter 扩展官方地址VS Code 官网与下载https://code.visualstudio.com/VS Code 入门与安装说明https://code.visualstudio.com/docs/getstarted/overviewFlutter 官方快速安装指南使用 VS Codehttps://docs.flutter.dev/install/quick建议优先从官方页面下载不使用来源不明的第三方安装包。安装 Visual Studio Code 后进入Extensions搜索并安装FlutterFlutter 扩展通常会同时安装或依赖Dart最终确认 VS Code 中至少存在Flutter Dart两个扩展。2.2 安装 Flutter SDK 并检查 PATH官方地址Flutter 官方安装入口https://docs.flutter.dev/installFlutter 官方 VS Code 快速安装https://docs.flutter.dev/install/quickFlutter SDK 手动安装指南https://docs.flutter.dev/install/manual本次环境使用 VS Code 的 Flutter 扩展进行 Flutter SDK 安装或引导安装。可在 VS Code 中按Ctrl Shift P打开命令面板搜索 Flutter 相关命令并按照提示安装或定位 Flutter SDK。安装后在 Terminal 中执行flutter--version如果能显示 Flutter 版本信息说明 Flutter 已可以正常调用。继续执行flutter doctor检查环境。PATH 检查如果出现类似flutter : 无法将“flutter”识别为 cmdlet、函数、脚本文件或可运行程序说明 Windows 没有找到 Flutter。需要将 Flutter SDK 的Flutter SDK路径\bin加入 Windows 的Path。Windows 11 路径开始菜单 → 搜索“环境变量” → 编辑系统环境变量 → 环境变量 → Path → 编辑 → 新建加入Flutter SDK路径\bin例如C:\flutter\bin修改完成后关闭并重新打开 VS Code再执行flutter--version如果通过 VS Code 安装后本来就可以运行flutter不需要额外修改 PATH。2.3 安装 Android Studio 与 Android SDK官方地址Android Studio 官方下载https://developer.android.com/studioAndroid Studio 官方安装说明https://developer.android.com/studio/install安装 Android Studio。日常写 Flutter 不一定使用 Android Studio但建议保留它来管理Android SDK Android SDK Platforms SDK Tools Android Emulator打开 Android Studio 后进入Settings → Languages Frameworks → Android SDK不同 Android Studio 版本的菜单位置可能略有变化但核心入口都是Android SDK在SDK Platforms中至少安装一个较新的 Android SDK Platform。本次环境中 Flutter 已成功识别 Android SDK 36。以后重新配置时不必强制使用完全相同版本只要当前 Flutter 与 Android 构建工具支持即可。2.4 安装 Android SDK Tools官方地址Android SDK Command-line Tools 官方说明https://developer.android.com/toolsAndroid Studio / Command-line Tools 下载入口https://developer.android.com/studiosdkmanager官方说明https://developer.android.com/tools/sdkmanager进入Android SDK → SDK Tools至少确认安装Android SDK Build-Tools Android SDK Command-line Tools (latest) Android SDK Platform-Tools尤其注意Android SDK Command-line Tools (latest)这一项很容易漏装。勾选后Apply → OK等待安装结束。2.5 接受 Android SDK License在 VS Code Terminal 中执行flutter doctor--android-licenses如果不断出现Accept? (y/N)输入y并回车。直到看到All SDK package licenses accepted.表示 Android SDK License 已全部接受。2.6 使用 flutter doctor 检查环境执行flutter doctor如果当前目标只是 Android APK 开发重点确认[√] Flutter [√] Android toolchain [√] VS CodeChrome 与完整 Visual Studio 并不是 Android APK 开发的必要条件。环境检查通过后即可进入项目创建和真机连接。3. 创建项目与 Android 真机连接3.1 创建 Flutter Empty Application在 VS Code 中创建 Flutter 项目时模板选择Empty Application相比普通Application它更加干净不包含大量官方示例和测试代码。Flutter 项目名建议全部小写 使用下划线连接3.2 开启Android开发者模式Android 官方真机调试说明Android 真机运行与 USB 调试https://developer.android.com/studio/run/device进入开发者选项并开启 USB 调试。根据不同机型寻找打开方式直到系统提示已经进入开发者模式。 然后找到 开发者选项开启USB 调试3.3 USB 连接与调试授权使用支持数据传输的 USB 数据线连接手机与电脑。连接时建议手机保持解锁 屏幕保持亮起 USB 调试保持开启第一次建立 ADB 调试连接时手机可能出现是否允许 USB 调试点击允许如果有一律允许使用这台计算机进行调试建议勾选。注意数据线能够充电不代表一定能够正常进行 USB 数据传输。3.4 使用 ADB 检查手机官方参考Android 真机与 ADB 连接说明https://developer.android.com/studio/run/deviceAndroid SDK Platform Tools / 命令行工具说明https://developer.android.com/tools在 Terminal 中执行adb devices正常结果List of devices attached xxxxxxxx device也可以执行adb devices-l查看更多设备信息。只要显示device说明Windows → ADB → 手机这条链已经正常。3.5 使用 Flutter 检查设备ADB 正常后执行flutter devices如 vivo X100 在 Flutter 中显示为V2359A正常会看到类似V2359A android-arm64 Android ...只有当 Android 手机出现在flutter devices中以后才进入flutter run。4. 第一次 flutter run 与环境验收4.1 第一次运行进入 Flutter 项目根目录在 Terminal 执行flutter run正常流程Launching lib\main.dart on V2359A in debug mode... ↓ Running Gradle task assembleDebug... ↓ 下载 Android 构建依赖 ↓ 编译 APK ↓ 安装 APK ↓ 手机自动启动 APP第一次运行通常明显比以后慢。4.2 判断是否运行成功成功后通常可以看到Built build\app\outputs\flutter-apk\app-debug.apk Installing... Syncing files to device...随后 Android 手机会自动启动 APP。此时完整链路已经打通VS Code ✅ Flutter SDK ✅ Android SDK ✅ Android License ✅ Gradle ✅ OpenJDK ✅ ADB ✅ Android 真机 ✅ APK 编译 ✅ APK 安装 ✅ flutter run ✅4.3 调试状态与 Hot Reloadflutter run成功以后终端通常保持与手机连接。常用命令r Hot Reload R Hot Restart q Quit开发过程中不要关闭这个 Terminal。如果退出后需要重新建立调试连接再次执行flutter run5. 常见问题与故障排查如果基础流程出现异常再进入本章排查。不建议一遇到问题就重新安装 Flutter、Android Studio 或 Android SDK。5.1 flutter 命令无法使用现象flutter 不是内部或外部命令或 PowerShell 提示无法识别flutter。原因Windows PATH 中没有 Flutter SDK 的bin路径。解决将Flutter SDK路径\bin加入 WindowsPath。然后重新打开 VS Code 和 Terminal。验证flutter--version5.2 cmdline-tools component is missing现象flutter doctor出现X cmdline-tools component is missing.原因Android SDK 存在但没有安装 Android Command-line Tools。解决进入Android Studio → Android SDK → SDK Tools勾选Android SDK Command-line Tools (latest)点击Apply安装完成后重新执行flutter doctor5.3 Android License 异常现象Android license status unknown.解决执行flutter doctor--android-licenses不断输入y直到All SDK package licenses accepted.5.4 Chrome 和 Visual Studio 红叉Chrome可能看到[X] Chrome - develop for the web它影响的是Flutter Web如果当前只开发 Android APK可以忽略。Visual Studio可能看到[X] Visual Studio - develop Windows apps注意Visual Studio ≠ Visual Studio Code它主要用于 Windows 桌面程序开发。只做 Android APK 时可以忽略。5.5 ADB 或 Flutter 检测不到手机先判断是哪一层的问题执行adb devices如果 ADB 本身都看不到手机就先不要检查 Flutter。推荐排查USB 调试是否打开 ↓ 手机是否解锁 ↓ 数据线是否支持数据传输 ↓ USB 接口是否正常 ↓ Windows 是否识别手机 ↓ ADB 是否正常必要时adbkill-server adbstart-serveradb devices如果adb devices正常再执行flutter devices5.6 Gradle 网络超时现象可能出现java.net.ConnectException: Connection timed out: connect也可能看到Could not GET Could not download或者flutter doctor检查https://maven.google.com/超时。推荐顺序先做1. 检查网络 2. 再运行 flutter run 3. 多尝试几次 4. 如果已经出现 Downloading就继续等待不要第一时间重装 Flutter 重装 Android Studio 重装 Android SDK 修改一堆 Gradle 配置只有网络长期无法访问 Gradle/Maven 时才考虑代理、镜像或手动下载。5.7 Debug APP 体积较大开发阶段使用flutter run运行的是 Debug 版本。Debug APP 会包含Flutter Engine Dart VM 调试器 Hot Reload 支持 调试信息 Android Native Libraries因此手机中显示几十 MB 甚至约 80 MB并不异常。正式发布时使用flutter build apk--release如果希望按 CPU 架构拆分flutter build apk--release--split-per-abiRelease APK 通常会明显小于 Debug 版本。5.8 推荐排错顺序Flutter 整体环境问题flutter 命令能否运行 ↓ flutter doctor ↓ Android toolchain ↓ Android License ↓ adb devices ↓ flutter devices ↓ Gradle 构建 ↓ APK 安装手机连接问题USB ↓ Windows ↓ ADB ↓ FlutterAndroid 构建问题Flutter ↓ Gradle ↓ OpenJDK ↓ Android SDK ↓ Maven / 网络按层排查比“全部重装”更容易找到真正问题。
延伸阅读

更多相关文章

2026/9/26 12:55:11

Python核心语法与高效编程实战指南

1. Python快速入门指南(三):核心语法与实战技巧作为一名从2010年开始使用Python的老程序员,我经常被问到同一个问题:"怎样才能快速掌握Python的核心用法?"这个系列的前两篇已经介绍了环境搭建和基…

2026/9/25 12:35:34

Unity游戏开发集成Swagger UI:构建高效API文档管理与联调工作流

1. 项目概述:为什么游戏开发需要专业的API文档管理?如果你在Unity项目里写过网络模块,或者对接过后端服务,大概率经历过这样的场景:后端同事丢给你一个Excel,里面是十几二十个接口的URL、参数和返回格式&am…

2026/9/26 6:49:29

光伏蓄电池超级电容联合供电系统设计与实践

1. 光伏蓄电池超级电容联合供电系统概述光伏蓄电池超级电容联合供电系统是一种将光伏发电、蓄电池储能和超级电容快速充放电特性相结合的复合能源解决方案。这种系统设计源于对传统光伏供电系统痛点的深刻理解——光伏发电具有间歇性和波动性,而单一蓄电池在应对突发…

2026/9/26 12:55:03

C++模板进阶实战:从SFINAE到CRTP的高阶技巧

1. 模板进阶:从能用到用好的跨越 把C模板玩明白,是每个想深入C底层的开发者都绕不过去的一道坎。如果你已经写了不少C代码,用过STL容器、写过简单的template函数,却总感觉template的威力远不止于此——那这篇文章就是为你写的。我…

2026/9/26 12:55:03

Substrate区块链开发框架实战:从核心设计到pallet开发与链上升级

1. 从“substrate”这个词说起:它到底是什么,为什么值得聊第一次听到“substrate”这个词,很多人会愣一下。它在不同圈子里指向完全不同的东西:做区块链的人第一反应是 Parity 那套区块链开发框架,做材料的人想到的是衬…

2026/9/26 12:55:03

PulseHttps:零侵入的被动HTTPS抓包Web工具

文章目录一、项目简介:解决什么问题?二、技术栈三、核心功能1. 一键启动,实时会话流2. HTTP/1.1:增量解析 自动配对3. HTTP/2:完整还原,不是"只能看 hex"4. 响应体自动解压5. 服务端视角同样可抓…

2026/9/26 12:55:03

网页时光机完全指南:历史快照、SEO分析与竞品追踪

1. 网页时光机到底是什么,我为什么离不开它先说结论:网页时光机(Wayback Machine)不是科幻小说里的概念,而是互联网档案馆(Internet Archive)提供的网页历史回滚服务。你可以把它理解成给整个互…

2026/9/25 21:00:17

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/25 20:59:52

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/26 0:04:28

画质修复APP怎么选?Wink影像修复能力与产品实力解析

现如今手机拍摄场景愈发丰富,演唱会直拍、漫展记录、老视频翻新、日常vlog录制,都会遇到画面模糊、噪点多、曝光失衡等问题,不少用户在挑选工具时比较在意一款画质修复APP能够兼顾修复效果与自然质感。Wink作为美图公司推出的全球化AI影像增强…

2026/9/26 0:04:28

超低能耗建筑K值要求能否满足?浙东铝业建筑型材解析

核心摘要浙东铝业的超低能耗系统门窗产品,资料显示保温性能可达 K≤1.4W/(㎡K),能够对应上海地区超低能耗住宅对门窗保温性能的应用需求。判断建筑是否满足超低能耗要求,不能只看铝型材本身,还需要结合玻璃、隔热条、密封系统、开…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/25 18:41:36

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑