惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
爱范儿
爱范儿
小众软件
小众软件
MyScale Blog
MyScale Blog
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
V
V2EX
量子位
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
C
Check Point Blog
月光博客
月光博客

繁星点点

最新轻量级龙虾部署教程 通过netboot.xyz重装系统 giffgaff卡保号教程 Llinux系统中全新透明代理方案(可代理所有出站流量) tailscale开启子网路由常见的坑 OpenWrt固件编译 解决UFW和Docker的问题 使用PGP的非对称算法加密文件 NSSM工具把任意exe程序注册为Windows后台服务 轻量级简约端口转发rinetd 安卓IDE的安装和使用 IP信息查询网站汇总 热点共享代理教程 SSH使用密钥认证登录详细解释 Debian系统公网IP出口切换指南,适用多IP服务器 Windows系统安装Scoop包管理器 使用手机搭建节点服务端 关于github提交记录泄露真实邮箱的处理办法 anytls协议部署教程 caddy给域名用上ECH加密 通过gitlab流水线自动备份仓库 通过CF-Workers代理访问网站 低配机器使用alpine系统跑docker 端口敲门教程 3x-ui面板通过api管理示例 nmap端口扫描 数据库常用命令 snap和winget包管理器 Git推送GitHub常用命令 😩😩😩学不完,根本学不完😩😩😩
安卓Flutter开发学习笔记
2025-06-07 · via 繁星点点

Windows 系统手动安装 Flutter 环境

✅ 一、准备条件

安卓sdk:

Image


✅ 二、安装 Flutter SDK

1. 下载 Flutter

2. 解压

解压到路径,例如:

C:\flutter

3. 配置环境变量

将以下路径添加到系统环境变量 Path 中:

[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\flutter\bin", "Machine")

然后重启终端(powershell)。

✅ 三、验证安装

flutter doctor --android-licenses

一路输入y直到完成

检查是否识别出所有组件并显示 ✅。


✅ 四、创建和构建项目

1. 创建多平台项目

flutter create myapp --org io.github.name --platforms android,ios,windows,macos,linux

2. 构建 APK

flutter build apk --release

输出文件路径:

build\app\outputs\flutter-apk\app-release.apk

Flutter 常用命令

命令 说明
flutter doctor -v 检查 Flutter 开发环境
flutter doctor --android-licenses 接受 Android SDK 许可证
flutter config --enable-windows-desktop 启用 Windows 桌面支持
flutter devices 查看已连接设备
flutter emulators 查看模拟器列表
flutter create myapp 创建 Flutter 项目
flutter create . 为当前项目补充缺失平台目录
flutter pub get 下载项目依赖
flutter pub upgrade 升级依赖
flutter pub outdated 检查可升级依赖
flutter clean 清理构建缓存
flutter run 运行项目
flutter run -d chrome 在 Chrome 中运行
flutter run -d windows 在 Windows 桌面运行
flutter run -d android 在 Android 设备运行
flutter run --release Release 模式运行
flutter build apk 构建 APK
flutter build appbundle 构建 AAB
flutter build windows 构建 Windows 程序
flutter build apk --release 构建 Release APK
flutter build apk --split-per-abi 按 ABI 拆分 APK
flutter test 运行单元测试
flutter analyze 静态代码检查
flutter format . 格式化代码
flutter --version 查看版本

Docker构建安卓项目参考

services:
  android:
    image: mingc/android-build-box
    container_name: android
    working_dir: /workspace
    stdin_open: true
    tty: true
    volumes:
      - .:/workspace
      - ./gradle-cache:/root/.gradle
      - ./flutter-cache:/root/.pub-cache
  • 启动:
docker compose up -d
  • 进入:
docker exec -it android bash
  • 启动后先检查一下环境:
java -version
gradle -v
flutter --version
sdkmanager --version
adb version
  • 然后随便执行:
# Kotlin
./gradlew assembleDebug
./gradlew assembleRelease

# Flutter
flutter doctor -v
flutter pub get
flutter build apk --release

# Android SDK
sdkmanager --list
adb version

🤖Go 项目生成 Android SDK (AAR) 并在 Kotlin 调用

  1. 安装 gomobile
go install golang.org/x/mobile/cmd/gomobile@latest
go install golang.org/x/mobile/cmd/gobind@latest
gomobile init
  1. 编写 Go 库
  • 导出函数首字母必须大写
  • 一般只需暴露 Go 项目的启动、停止、重启、日志、生命周期等函数接口即可
  • gomobile 生成 Android 绑定后,业务端需要使用小驼峰命名调用
  • 默认会生成一个“通用 AAR”,里面会包含所有 Go 支持的多种架构,可在业务端打包时拆分abi

Flutter多平台架构思想

说明:Flutter 负责 UI 和业务编排,Platform Adapter 负责平台差异,Native Core 负责真正运行。

App 启动
↓
初始化依赖注入 / 配置 / 存储
↓
注册当前平台的 RuntimeService
↓
加载 Flutter UI
↓
用户操作 UI
↓
ViewModel 处理状态与交互
↓
UseCase / Repository 执行业务逻辑
↓
调用统一 RuntimeService 接口
↓
Platform Adapter 适配当前平台
↓
调用原生内核
   Android → AAR / .so
   Windows → exe
   Linux → binary
   macOS → binary / framework
   iOS → XCFramework / NetworkExtension
↓
内核回传状态 / 日志 / 错误 / 流量统计
↓
RuntimeService 统一转换为 Dart Model / Stream
↓
ViewModel 更新状态
↓
UI 自动刷新

最简结构

lib/
├── main.dart
├── ui/              # 页面、组件、ViewModel
├── domain/          # Model、UseCase、抽象接口
├── data/            # Repository、Service实现
└── platform/        # Android/Windows/Linux/macOS/iOS 适配器