【免费下载链接】artcraft-android
artcraft-android 是一个把 ArtCraft 全家桶 14 款桌面创作应用移植到 Android 的开源项目,一条bash build.sh -photocraft命令即可从零构建出本地签名的 arm64 APK。本文带你快速搭好构建环境,跑通第一个 APK 的完整构建流程。
artcraft-android 直接基于官方上游源码编译,不是"阉割版":应用保留了 PC 版的全部功能,并通过 Android 原生桥接获得文件选择器、触摸手势、软键盘、剪贴板等系统能力。下图就是构建目标:PhotoCraft、SubCraft 等应用在 Android/桌面窗口上并排运行的效果。
构建环境一键准备:需要装哪些工具?
官方构建脚本会自动探测并补齐大部分组件,你真正需要手动准备的只有下面这一小套(详见 README.md 的 Requirements 一节):
| 工具 | 用途 | 是否可自动安装 |
|---|---|---|
| Git | 拉取上游应用源码 | 需手动安装 |
| Rust + Cargo | 编译原生库 | 需手动安装 |
| Python 3.11+ | 生成 Android 工程(依赖tomllib) | 需手动安装 |
| JDK 17–23 | Gradle 构建 APK | ✅ 脚本自动下载 Temurin 21 |
| Android SDK / NDK | 编译平台与 Build Tools | ✅ 脚本自动拉取到android-sdk/ |
| cargo-ndk | NDK 交叉编译 | ✅ 脚本自动cargo install |
几点关键机制(实现在 lib/build-common.sh 中):
- SDK 自动引导:脚本优先使用系统已有 SDK(
ANDROID_HOME等),找不到时自动下载 command-line tools 并在项目内创建android-sdk/,机器上已有的 NDK 永远不会重复下载。 - Rust 目标检查:会检查
aarch64-linux-androidtarget 是否安装,缺失时提示执行rustup target add aarch64-linux-android。 - 构建锁:同一时间只允许一个构建(
flock锁),避免两个构建互相覆盖 launcher 源码。
💡 提示:克隆上游源码前,请确保
source/所在磁盘至少有约 1 GiB 空闲空间,脚本会预先检查。
获取构建器仓库
git clone https://gitcode.com/gh_mirrors/ar/artcraft-android cd artcraft-androidbuild.sh可以从任意目录调用,脚本会自行定位到项目根目录再执行。
build.sh 命令速查:一条命令构建 Release APK
build.sh和 build-debug.sh 只是薄封装,真正的工作由 lib/build-common.sh 完成。基本用法:
# Release APK(优化过,适合日常安装使用) bash build.sh -photocraft # Debug APK(更大更慢,适合测试排错) bash build-debug.sh -photocraft注意应用名参数必须带连字符前缀,例如-photocraft而不是photocraft。当前支持 14 个应用:
photocraftvectorcraftfilmcraftlightcraftpdfcrafteffectcraftdesigncraftfigcraftwordcraftsoundcraftdeckcraftcadcraftgridcraftsubcraft
常用构建参数一览
| 参数 | 说明 | 默认值 |
|---|---|---|
-stable | 基于上游最新稳定 tag 构建 | ✅ 默认 |
-main/-latest | 基于上游滚动 main 分支构建 | — |
-tag=<tag> | 指定 Git tag,如-tag=v0.12.1 | — |
-branch=<branch> | 指定 Git 分支 | — |
-appname=<name> | 覆盖应用显示名 | 应用自带标题 |
-packagename=<pkg> | 覆盖 Android 包名 | com.artcraft.<app> |
-appicon=<path> | 使用自定义启动器图标 PNG | 应用自带图标 |
-h/--help | 显示帮助 | — |
组合示例:打造"我的 Vector App"
bash build.sh -vectorcraft \ -appname="My Vector App" \ -packagename=com.example.myvectorapp \ -appicon=/path/to/icon.png构建过程发生了什么:8 个阶段
执行构建后,终端会按阶段输出进度(architecture.md 有完整架构说明):
- 检查构建工具— 校验 git / cargo / python3,自动安装 cargo-ndk
- 查找 Android SDK 和 NDK— 自动引导缺失组件
- 获取官方源码— 浅克隆上游仓库到
source/<app>/,默认取最新稳定 tag - 准备 GameActivity 启动器— 生成或安装自定义 adapter(如 adapters/photocraft/)
- 准备签名密钥— 在
keys/下创建本地开发 keystore - 编译— cargo-ndk 交叉编译 + Gradle 打包
- 验证文件桥接— 确认 APK 内含 Activity 类与
.so原生库 - 构建成功— APK 复制到
output/
构建产物在哪:output、logs 与签名说明
构建完成后,各产物固定在以下位置:
| 产物 | 路径 |
|---|---|
| APK 文件 | output/<app>-<version>.apk(debug 版带-debug后缀) |
| 构建日志 | logs/<app>-<mode>-<时间戳>.log |
| 克隆的上游源码 | source/<app>/ |
| 编译中间产物 | build/<app>/target/ |
| 签名密钥 | keys/artcraft-builder.jks |
⚠️ 两个重要提醒:
- 保管好
keys/目录:同一密钥签名的后续构建才能作为"更新"覆盖安装。但本地开发密钥不要用于公开发布,公开版本应使用独立管理的发布签名密钥。 - 源码检出不会被自动重置:
source/<app>/会保留你本地的修改,升级版本请自行用 Git 更新并 review 差异。
构建失败时可以直接用 clean.sh 清理构建状态后重试;若报"incomplete checkout",把source/<app>/挪走再重建即可。
真机测试:adb 安装与日志查看
把 APK 推送到设备后,用 ADB 验证:
# 安装 APK adb install -r output/photocraft-*.apk # 查看应用日志 adb logcat -s com.artcraft.photocraft # 查看已申请权限 adb shell dumpsys package com.artcraft.photocraft | grep -A 15 "requested permissions"CI 流水线(见 docs/ci-workflow.md)对每个 APK 也会做同等校验:大小 ≥ 1MB 且unzip -tq完整性检查通过,才允许打包发布——你本地构建的 APK 同样可以放心安装。
延伸阅读:关键文件清单
想深入了解构建系统内部,可以从这些文件入手:
- 主调度脚本:lib/build-common.sh
- 构建流程与八阶段管线:architecture.md
- 各应用自定义 adapter:adapters/README.md
- CI 工作流与缓存策略:docs/ci-workflow.md
- 版本更新记录:CHANGELOG.md
总结
artcraft-android 的构建门槛比想象中低:装好 Git、Rust 和 Python 后,SDK/NDK/JDK 都能由脚本自动补齐,一条bash build.sh -<应用名>就能在约几十分钟内拿到可安装的 arm64 APK。建议第一次构建先用-stable默认模式跑photocraft,成功后再尝试-main、自定义包名或 build-debug.sh 调试构建。遇到构建问题,优先翻logs/下的日志——脚本出错时会明确标注失败的行号,排查起来非常快。
【免费下载链接】artcraft-android
相关推荐
快速上手 QualityMatters:一条命令从零构建高质量 Android 应用的入门教程
快速上手 QualityMatters:一条命令从零构建高质量 Android 应用的入门教程 QualityMatters 是一个遵循「Android 开发文
VirtualApp终极指南:如何快速构建Android多开环境
VirtualApp终极指南:如何快速构建Android多开环境 VirtualApp是一款强大的Android虚拟引擎,支持在单个设备上创建独立的应用运行环境
移动开发虚拟化如何从零构建 WebHomeTV:JDK 21 到打包 4 个 APK 的完整命令行指南
如何从零构建 WebHomeTV:JDK 21 到打包 4 个 APK 的完整命令行指南 WebHomeTV(webhtv)是一款基于鱼佬 WebHomeTV
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考