新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/11/13 8:45:41来源:尧图网络
如何从源码编译运行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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/13 0:43:49

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/12 9:50:02

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/12 9:25:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/12 15:57:44

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/13 0:02:27

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉