首页/新闻资讯/正文详情

如何从源码编译运行Echo Loop:Flutter+Riverpod+Drift开发者快速开始完整指南

发布时间:2026/9/25 23:23:53 来源:云帆数科 栏目:资讯中心
如何从源码编译运行Echo Loop:Flutter+Riverpod+Drift开发者快速开始完整指南
如何从源码编译运行Echo LoopFlutterRiverpodDrift开发者快速开始完整指南【免费下载链接】Echo-LoopEcho Loop 是一款科学、高效的 AI 英语听说训练 App通过精听、跟读、盲听、复述和间隔复习自动驱动学习者把每一段音频真正练懂、练熟、练到会说。项目地址: https://gitcode.com/echo-loop/Echo-LoopEcho Loop 是一款科学高效的 AI 英语听说训练 App基于 Flutter 构建使用 Riverpod 管理状态、Drift 做本地数据持久化。本文带新手从源码编译运行 Echo Loop 完整走一遍克隆仓库、配置编译期环境变量、生成代码、一键启动到 iOS / Android / macOS并附上测试与质量检查命令帮助你快速上手这个 Flutter 开源项目。 环境要求开始编译前的准备在动手前确认你的开发机满足以下最低要求依赖版本要求说明Flutter SDK3.9.2Dart 3.9.2参考 pubspec.yaml 中sdk: ^3.9.2目标设备iOS 模拟器 / Android 模拟器 / 真机macOS 开发环境可直接跑桌面端Xcode最新版仅 iOS 目标需要含 CocoaPods 建议直接安装 Flutter stable 最新版避免版本过旧导致插件编译失败。1️⃣ 克隆仓库获取 Echo Loop 源码在终端执行以下命令克隆项目如果网络受限可以配合代理加速git clone https://gitcode.com/echo-loop/Echo-Loop.git cd Echo-Loop仓库结构一览核心目录lib/ ├── l10n/ # 国际化翻译文件ARB 格式见 l10n.yaml ├── models/ # 数据模型AudioItem, Sentence, Collection 等 ├── providers/ # Riverpod 状态管理音频引擎层 听力业务层 ├── database/ # Drift 数据库表定义 DAO ├── screens/ # 页面 ├── services/ # 服务层存储、字幕解析、TTS、ASR 等 └── widgets/ # 可复用组件 test/ # 单元 / Widget 测试 integration_test/ # 端到端集成测试2️⃣ 配置编译期环境变量最容易踩坑的一步Echo Loop 的 Supabase、Google 登录、后端 API 等配置统一走编译期注入--dart-define-from-file仓库提供了模板文件 .dev.env.template照着填即可cp .dev.env.template .dev.env打开.dev.env按注释填写变量是否必填说明SUPABASE_URL/SUPABASE_PUBLISHABLE_KEY建议填账号认证依赖留空则登录功能不可用GOOGLE_WEB_CLIENT_ID可留空Google 登录的 Web Client IDAPI_BASE_URL默认已填dev 环境为https://dev.echo-loop.topREVENUECAT_API_KEY_*可留空订阅相关留空 App 仍可正常运行⚠️ 注意.dev.env已被.gitignore忽略不要把真实密钥提交进仓库。发布构建使用.prod.env同样的键API_BASE_URL换成生产地址。3️⃣ 安装依赖并生成代码pub get 与 build_runnerEcho Loop 大量使用代码生成Drift 数据库、Riverpod Provider、JSON 序列化标准流程是两步flutter pub get # 安装依赖 dart run build_runner build # 生成 .g.dart 代码Drift / Riverpod 仓库已提交生成产物首次运行不强制跑 build_runner但只要你修改了 Provider 或表定义就必须重新执行dart run build_runner build否则会出现方法未定义的报错。4️⃣ 快速启动把 Echo Loop 跑起来带上环境变量文件一条命令启动到目标设备flutter run -d android --dart-define-from-file.dev.env # Android 模拟器/真机 flutter run -d ios --dart-define-from-file.dev.env # iOS 模拟器/真机 flutter run -d macos --dart-define-from-file.dev.env # macOS 桌面端开发中启动后你会看到音频导入、学习闭环等核心界面项目自带演示素材assets/demo/下的音频与字幕可以不开任何外部服务直接体验精听、跟读、复述流程。iOS 模拟器快捷方式macOS 用户可以用仓库内置脚本 scripts/run_simulator.sh自动完成构建、安装、启动./scripts/run_simulator.sh --device iPhone 15 --boot5️⃣ 测试与质量检查像贡献者一样验证改动代码后按项目规范运行静态分析和测试详见 AGENTS.mdflutter analyze # 静态分析 flutter test # 全部单元 / Widget 测试 flutter test integration_test -d macos # 集成测试 dart format . # 格式化发版或大范围改动时可运行 scripts/check.sh它按顺序执行 analyze → 单测 → 集成测试 → macOS 构建的全链路检查。 常见编译问题排查现象原因与解决SUPABASE_URL 未定义等编译错误忘了加--dart-define-from-file.dev.env参数.g.dart文件报找不到方法修改过模型/Provider 后未运行dart run build_runner buildiOS 构建卡住或失败先cd ios pod install更新 CocoaPods 依赖Android 真机 release 包卡在启动页检查android/app/proguard-rules.pro中 ffmpeg_kit 的 keep 规则是否被误删️ 下一步读懂核心代码跑通之后推荐按这条路径阅读源码入口与启动流程lib/main.dart含启动埋点、Supabase 初始化、Provider 注册Riverpod 状态管理lib/providers/音频引擎层audio_engine/与听力业务层listening_practice/Drift 数据库lib/database/app_database.dart14 张表学习进度、收藏、记忆调度等DAO 位于 lib/database/daos/功能模块lib/features/订阅、记忆调度、播客、AI 聊天等按 feature 组织开发规范CLAUDE.md 与 AGENTS.md 记录了项目的分层职责与测试要求改代码前值得一读完成一次克隆 → 配置 → 生成 → 运行的完整循环你就掌握了这个 Flutter Riverpod Drift 项目的开发姿势可以开始为 Echo Loop 贡献代码了 【免费下载链接】Echo-LoopEcho Loop 是一款科学、高效的 AI 英语听说训练 App通过精听、跟读、盲听、复述和间隔复习自动驱动学习者把每一段音频真正练懂、练熟、练到会说。项目地址: https://gitcode.com/echo-loop/Echo-Loop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Windows安装卡在“准备就绪”?8个排查方法从外设到硬件全面解决
Windows安装卡在“准备就绪”?8个排查方法从外设到硬件全面解决

1. 卡在“准备就绪”到底卡在了哪一步装系统这件事,装过十台以上的人大概都遇到过同一个画面:屏幕中央一行“准备就绪”,下面一个圈转啊转,十分钟、半小时、一小时过去,硬盘灯不闪,鼠标不动,风扇… · 2026/9/25 23:23:53

OCP配置资源隔离不生效?OceanBase cgroup与unit分配排查指南
OCP配置资源隔离不生效?OceanBase cgroup与unit分配排查指南

2. 问题背景与现象描述先说结论:OCP 里资源分配看起来生效了,但实际业务侧完全没按配置走,这属于典型的“配置下发链路断点”问题,不是 OceanBase 本身资源管理能力不行,而是中间某一环把配置给“吞”了。我在实际运维… · 2026/9/25 23:23:46

离线环境快速部署 Docker 与 Docker Compose:从二进制到插件全攻略
离线环境快速部署 Docker 与 Docker Compose:从二进制到插件全攻略

简介:面向需要离线部署 Docker 与 Docker Compose 的开发运维人员,这份安装包将 Docker 27.3.1 离线二进制、systemd 服务配置与安装脚本整合在一起,可有效解决内网或无外网环境下安装繁琐、依赖缺失的问题,也适合在标准化交付容器… · 2026/9/25 23:23:40

Another Redis Desktop Manager 深度解析:免费开源的Redis可视化客户端实战指南
Another Redis Desktop Manager 深度解析:免费开源的Redis可视化客户端实战指南

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

C-Free 5:零基础学C语言的极简入门IDE
C-Free 5:零基础学C语言的极简入门IDE

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

中缀转后缀与表达式求值:栈的经典应用与工程实践
中缀转后缀与表达式求值:栈的经典应用与工程实践

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

Absolute Database 多用户源码包 v7.90 拆解:锁机制、编译与避坑指南
Absolute Database 多用户源码包 v7.90 拆解:锁机制、编译与避坑指南

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

Android开发之Cursor方法使用与遍历:TaoToken统一Key接入AI工具配置实战
Android开发之Cursor方法使用与遍历:TaoToken统一Key接入AI工具配置实战

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

HWA脱手驾驶功能安全设计:从HARA到软件组件鉴定报告
HWA脱手驾驶功能安全设计:从HARA到软件组件鉴定报告

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

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

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

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码