demo2apk

GitHub
569 53 中等 1 次阅读 昨天语言模型
AI 解读 由 AI 自动生成,仅供参考

demo2apk 是一款专为"Vibe Coding"爱好者打造的一站式打包工具,能瞬间将你的创意原型或 AI 生成的代码(如来自 Gemini、ChatGPT、DeepSeek 的项目)转化为可安装的 Android APK 应用。它彻底解决了传统安卓开发中环境配置复杂、编译流程繁琐的痛点,让用户无需搭建任何开发环境,只需上传文件即可快速获得成品。

无论是普通用户想体验自己的创意落地,还是开发者需要快速验证 AI 生成的 Demo,亦或是设计师希望展示交互式原型,demo2apk 都能提供极大便利。其核心亮点在于高度智能化的处理能力:支持单文件、代码粘贴及完整项目压缩包等多种输入模式;内置可视化界面,允许用户自定义应用名称、版本、图标及权限;更能自动识别 React/Vite 等项目类型,智能处理 CDN 资源与 JSX 编译,确保应用在离线环境下流畅运行。此外,它还提供了免费的公共云服务及便捷的 Docker 部署方案,让从创意到可用应用的转化过程变得前所未有的简单高效。

使用场景

一位前端开发者利用 AI 快速生成了一个活动宣传页原型,急需在安卓手机上向产品经理演示交互效果。

没有 demo2apk 时

  • 环境配置繁琐:为了打包一个简单的 HTML/React 页面,必须安装 Android Studio、配置 JDK 和 Gradle,耗时数小时且容易报错。
  • 构建流程复杂:需要手动修改 AndroidManifest.xml 添加网络权限,调整 base 路径以防白屏,还要处理 WebView 兼容性插件。
  • 调试效率低下:每次修改代码后,需重新执行 npm build 并重新编译 APK,无法实现“改完即看”的快速迭代。
  • 设备限制严格:若身边没有数据线或调试桥(ADB)环境,根本无法将网页转化为可安装应用进行真机测试。

使用 demo2apk 后

  • 一键即时打包:直接将 AI 生成的代码文件或 ZIP 包拖入 demo2apk 网页界面,几分钟内即可生成可安装的 APK 文件。
  • 智能自动适配:demo2apk 自动识别 React/Vite 项目结构,智能注入必要的遗留插件和权限配置,彻底解决安卓 WebView 白屏问题。
  • 灵活定制参数:在上传时可随时通过界面自定义应用名称、版本号及图标,无需修改任何配置文件即可生成专业的演示包。
  • 跨端无缝流转:生成下载链接后,扫码即可在任意安卓手机安装,甚至可同步生成 PWA 版本,让演示不再受限于开发环境。

demo2apk 将原本需要半天配置的安卓打包工作压缩至分钟级,让开发者能专注于创意验证而非环境搭建。

运行环境要求

操作系统
  • Linux
  • macOS
GPU

未说明

内存

未说明

依赖
notes1. Docker 镜像仅支持 linux/amd64 架构,macOS 用户需使用本地开发模式部署。2. 本地部署需手动运行 Redis 容器。3. 若打包 React/Vite 项目在 Android 出现白屏,需安装 @vitejs/plugin-legacy 插件并配置 vite.config.js。4. 默认开启速率限制(每 IP 每小时 5 次构建),开发环境可通过环境变量关闭。5. 构建产物和临时文件默认在 2 小时后自动清理。
python未说明
Node.js
pnpm
Redis
Docker
Docker Compose
Cordova
Capacitor
Gradle
@vitejs/plugin-legacy (React 项目可选)
demo2apk hero image

快速开始

Demo2APK

Demo2APK 🚀

许可证 星标 版本

中文文档

将你的 Vibe Coding 创意瞬间转化为可运行的 Android 应用。

Demo2APK 是专为 Vibe Coding 用户打造的一键打包工具。无论你有一个精彩的演示项目,还是由 AI(Gemini、ChatGPT、DeepSeek 等)生成的完整项目,只需上传文件,我们便会立即为你生成一个可安装的 APK。无需复杂的 Android 开发环境配置——让创意触手可及。

请勿接受来自他人的 APK 文件,因为它们可能包含安全风险!

🌐 免费公共服务

我们为大家提供一个 免费公共实例

👉 https://demo2apk.lasuo.ai

  • 每个 IP 每小时最多可构建 5 次
  • 无需注册
  • 功能齐全,与自托管版本相同

希望这能帮到你!如果你觉得有用,请为本仓库点个 ⭐ 星吧!

✨ 核心功能

  • 🎨 Web 界面: 沉浸式的“暗黑工程蓝图”风格 UI,用于管理构建任务。
  • ✏️ 自定义: 支持在上传时设置自定义的 应用名称应用版本(如 1.0.0)和 应用图标
  • 🔐 Android 权限: 可通过 UI 自定义 Android 权限——仅选择你的应用所需的权限(默认仅启用 INTERNET 权限)。
  • 📱 PWA 支持: 可选地在生成 APK 的同时创建一个可安装的 渐进式 Web 应用,以便于 Web 部署。
  • 📋 构建历史: 自动保存最近的构建记录,并支持页面刷新后的 会话恢复
  • 🧠 智能检测: 自动检测文件类型(HTML/React/ZIP),并选择最佳的构建策略。
  • ⏳ 智能队列: 通过实时队列系统处理并发构建任务,并提供进度反馈。
  • 🔗 轻松分享: 构建完成后,可立即生成可分享的下载链接。
  • ⚡️ 极速响应: 经过优化的云流水线,可在数分钟内交付 APK。
  • 🌐 灵活模式:
    • 单文件模式: 支持 .html.js.jsx.ts.tsx 文件(自动检测 React 组件)。
    • 粘贴代码模式: 直接粘贴代码,智能识别 HTML/React/JS 内容。
    • ZIP 压缩包模式: 支持标准的 React/Vite 项目(需执行 npm build)以及 多文件 HTML 项目(无需构建)。
  • 🧠 智能离线处理: 自动处理 CDN 资源和 JSX 编译,确保你的应用在离线状态下也能流畅运行。
  • 🛡️ 速率限制: 智能资源分配(开发模式下可配置)。
  • 🧹 自动清理: 构建产物会在 2 小时后自动删除,以保护隐私并节省空间。

⚠️ React 项目:避免白屏问题

重要提示:如果你的 React/Vite APK 出现 白色或空白屏幕,你需要添加兼容 Android WebView 的 legacy 插件。

npm install -D @vitejs/plugin-legacy terser
// vite.config.js
import legacy from '@vitejs/plugin-legacy'

export default defineConfig({
  plugins: [
    react(),
    legacy({ targets: ['chrome >= 52', 'android >= 5'] })
  ],
  base: './'  // 对于 APK 必须设置!
})

📖 完整指南:React 项目要求 - 详细解决白屏问题的方法。

🚀 快速开始

选项 1:Docker 部署(Linux 服务器)

使用预构建的 Docker 镜像,3 分钟即可部署到你的 Linux 服务器上。

⚠️ Docker 镜像仅支持 linux/amd64。对于 macOS 用户,请使用 本地开发

# 1. 创建部署目录
mkdir -p ~/demo2apk && cd ~/demo2apk

# 2. 下载部署配置文件
curl -O https://raw.githubusercontent.com/DeadWaveWave/demo2apk/main/docker-compose.deploy.yml

# 3. (可选)配置环境变量
curl -O https://raw.githubusercontent.com/DeadWaveWave/demo2apk/main/.env.deploy.example
mv .env.deploy.example .env
# 编辑 .env 文件以自定义设置(速率限制、PWA、资源限制等)

# 4. 启动服务
docker compose -f docker-compose.deploy.yml up -d

访问 http://127.0.0.1:5173 即可使用 Web UI。

更新到最新版本:

docker compose -f docker-compose.deploy.yml pull && docker compose -f docker-compose.deploy.yml up -d

选项 2:本地开发(macOS / Linux)

适用于 macOS 用户或本地开发:

# 1. 安装依赖
pnpm install

# 2. 启动 Redis
docker run -d -p 6379:6379 redis:alpine

# 3. 构建项目
pnpm build

# 4. 启动所有服务(分别在不同终端中)
pnpm dev        # API 服务器(端口 3000)
pnpm worker     # 构建工作进程
pnpm frontend   # Web UI(端口 5173)

访问 http://localhost:5173 即可使用 Web UI。

选项 2:API 使用

如果你更倾向于命令行或脚本集成,可以使用我们的 REST API。

单个 HTML 文件:

curl -X POST http://localhost:3000/api/build/html \
  -F "file=@test-demo.html" \
  -F "appName=TestDemo"

React 项目:

# 先将项目打包成 ZIP 文件
zip -r test-react-app.zip test-react-app/

# 上传并构建(自动检测项目类型)
curl -X POST http://localhost:3000/api/build/zip \
  -F "file=@test-react-app.zip" \
  -F "appName=TestReactApp"

粘贴代码:

# 上传原始代码(HTML/JS/React)
curl -X POST http://localhost:3000/api/build/code \
  -F "code=<export default function App() { return <h1>Hello</h1> }" \
  -F "appName=MyReactApp"

详情请参阅 API 文档

⚙️ 配置

速率限制

为确保公平使用,默认启用了速率限制:

  • 限制:每个 IP 每小时最多 5 次请求
  • 开发模式:可通过环境变量禁用,用于本地开发。

.env 中设置:

# 禁用速率限制(仅限开发/测试)
RATE_LIMIT_ENABLED=false

# 自定义限制(默认 5 次)
RATE_LIMIT_MAX=10

文件保留

为节省存储空间并保护用户数据:

  • 保留期限:生成的 APK 和临时文件将在 2 小时 后被删除。
  • 清理机制:后台工作进程每 30 分钟扫描一次过期文件(可配置)。

可通过环境变量进行配置:

# 保留期限(小时)
FILE_RETENTION_HOURS=2

# 是否在每次构建后删除 Cordova/Capacitor 工作目录
CLEANUP_BUILD_ARTIFACTS=true

# 是否在每次任务完成后删除上传的文件(默认 true)
CLEANUP_UPLOADS_ON_COMPLETE=true

# 工作进程侧清理旧 APK/构建/上传文件
FILE_CLEANUP_ENABLED=true
FILE_CLEANUP_INTERVAL_MINUTES=30

并发与队列

控制同时运行的构建任务数量。超出数量的任务将自动进入队列。

# 并发构建任务数(默认 2 个)
WORKER_CONCURRENCY=2

📝 更改日志

发布历史请参阅 CHANGELOG.md

📚 文档

🛠️ 技术栈

  • 前端: React、Vite、Tailwind CSS(Blueprint 风格)
  • 后端: Node.js、Fastify、TypeScript
  • 队列: BullMQ、Redis
  • 构建: Cordova、Capacitor、Gradle
  • 部署: Docker、Docker Compose

📈 社区

Star 历史图表


为 Vibe Coding 而用心打造

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

144.7k|★★☆☆☆|今天
开发框架Agent语言模型

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|2天前
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|3天前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|2天前
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|4天前
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

75.1k|★★★☆☆|今天
语言模型图像开发框架