Skip to content

About

Toonflow Android 移植版 · 把 Toonflow(Bun + Vue3 的 AI 短剧创作平台)移植到 Android 14–16(arm64-v8a),可直接安装 APK

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Toonflow Android 移植版

把 Toonflow(Bun + Vue3 的 AI 短剧 / 漫画创作平台)移植到 Android 14–16(arm64-v8a),产出可直接安装的 APK。

本仓库 = 上游源码 + Android 移植层。上游业务代码保持零改动或最小补丁,方便跟随上游更新。

⬇️ 下载安装

从 Releases 页面下载最新 APK 安装即可。

  • 要求:Android 14 及以上,arm64-v8a 设备
  • 首次启动按引导授予「所有文件访问」权限(用于选择项目文件夹)

✨ 移植版特性

在完整保留 Toonflow 全部功能的基础上,为手机触屏做了这些适配:

特性 说明
🖥️ 原生运行 Toonflow 后端(Bun + Express)交叉编译为 Android 原生可执行文件,App 内启动本地服务,WebView 加载界面——功能与桌面版一致
📱 全面屏适配 挖孔 / 刘海区内容铺展、手势条避让、系统栏图标随主题切换
🌓 按方向显示模式 竖屏全屏(隐藏状态栏);横屏沉浸式全屏(边缘滑动呼出系统栏)
📂 系统文件夹选择器 「导入 / 添加项目」弹出 Android 系统文件管理器;未授权时一键跳转「所有文件访问」设置页
👆 画布触屏手势 双指捏合缩放、双指滑动平移、单指持续框选(替代鼠标操作)
🎛️ 触屏交互重排 顶部控件一行排布(退出/设置 · 画布|文档胶囊 · 助手圆钮);助手对话默认最小化、点击圆钮侧边展开
📝 文档编辑页手机适配 编辑区自动避让顶部控件、全宽适配;文件树并入胶囊控件弹层;编辑工具条横向滚动
🖼️ 节点文件选择 图片/视频/音频节点上传、替换文件弹出系统文件管理器(WebView 文件选择桥)
📜 日志与诊断 宿主日志三通道落盘(应用目录 / 媒体目录 / 下载目录),启动失败可直接取日志排查

📋 版本记录

版本 versionCode 内容
v10 10 (1.9) 助手圆钮伪元素逃逸修复;文档编辑页手机适配(下移/单列/工具条横滚/文件树并入胶囊)
v9 9 (1.8) 顶部控件重排(一行三控件 + 画布选择器并入胶囊);3D 导演台与设置页全屏;媒体节点文件选择修复
v8 8 (1.7) 画布触屏手势(捏合缩放/滑动平移/框选);助手悬浮窗模式移除;顶部控件不再遮挡
v7 7 (1.6) 挖孔屏内容铺展;竖屏全屏 / 横屏沉浸式显示模式
v6 6 (1.5) 创建项目权限报错修复(硬链接回退);系统文件夹选择器 + 权限引导
v5 5 (1.4) 已作废(基线回退 v4 重做)
v4 4 (1.3) 全面屏(刘海/挖孔/手势条)适配,消除裁切与黑边
v3 3 (1.2) 启动崩溃修复(Bun 1.3.14 → 1.4.2,Android PIE 缺陷)
v2 2 (1.1) 宿主日志落盘 + 启动诊断(预检探针)
v1 1 (1.0) 首个可运行 APK(壳工程 + 宿主 + WebView)

🏗️ 架构

┌────────────────────────── Android APK ──────────────────────────┐
│  MainActivity (WebView) ──http://127.0.0.1:3000/?desktop=1       │
│                                                                  │
│  Foreground Service(前台服务,保活)                              │
│   └─ ProcessBuilder(nativeLibraryDir + "/libtoonflow.so")        │
│        ├─ = Bun Runtime + Toonflow 后端(交叉编译为单文件)          │
│        ├─ 托管 build/web 前端静态资源                              │
│        └─ 读写 filesDir/data(设置、工作区、ffmpeg)                │
│                                                                  │
│  jniLibs/arm64-v8a/  libtoonflow.so / libffmpeg.so /             │
│                      libffprobe.so / libffmpeg.zip.so            │
└──────────────────────────────────────────────────────────────────┘

关键设计(详见 android/docs/技术方案.md):

  • 宿主 shim(apps/server/android/host.ts,唯一新增后端文件):平台伪造、目录解析、ffmpeg 软链、桌面运行时桩、壳↔宿主对话框桥、MCP 包装脚本
  • 壳工程(android/shell/):WebView + 前台服务 + Insets/安全区注入 + SAF 选择器 + 文件选择桥
  • 补丁(android/patches/):对上游源码的全部修改,以 .patch 形式保存,可重放到新版上游

🔧 构建

见 android/BUILDING.md。

🔄 与上游同步

  • 对上游源码的修改只有 2 个补丁(硬链接回退 + v10 前端改动),其余全部是独立新增文件
  • 上游发布新版本后,应用补丁 → 重新构建宿主与 web 资源 → 重打 APK 即可

📜 许可

  • 上游 Toonflow 代码:MIT License,版权归 HBAI-Ltd(北京爱阿科技有限公司)
  • 本仓库的移植部分(壳工程、宿主 shim、补丁)同样以 MIT License 发布

🙏 致谢

  • Toonflow — 上游项目
  • Bun — 提供 Android 交叉编译目标(bun-linux-aarch64-android)
  • youtubedl-android — Android 版 ffmpeg

About

Toonflow Android 移植版 · 把 Toonflow(Bun + Vue3 的 AI 短剧创作平台)移植到 Android 14–16(arm64-v8a),可直接安装 APK

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages