☰
如何从零构建artcraft-android的APK:构建环境与build.sh命令快速入门
2026/11/5 6:43:52 网站建设 项目流程

【免费下载链接】artcraft-android

项目地址:https://gitcode.com/gh_mirrors/ar/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–23Gradle 构建 APK✅ 脚本自动下载 Temurin 21
Android SDK / NDK编译平台与 Build Tools✅ 脚本自动拉取到android-sdk/
cargo-ndkNDK 交叉编译✅ 脚本自动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-android

build.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 有完整架构说明):

  1. 检查构建工具— 校验 git / cargo / python3,自动安装 cargo-ndk
  2. 查找 Android SDK 和 NDK— 自动引导缺失组件
  3. 获取官方源码— 浅克隆上游仓库到source/<app>/,默认取最新稳定 tag
  4. 准备 GameActivity 启动器— 生成或安装自定义 adapter(如 adapters/photocraft/)
  5. 准备签名密钥— 在keys/下创建本地开发 keystore
  6. 编译— cargo-ndk 交叉编译 + Gradle 打包
  7. 验证文件桥接— 确认 APK 内含 Activity 类与.so原生库
  8. 构建成功— 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

项目地址:https://gitcode.com/gh_mirrors/ar/artcraft-android
点击查看免费下载
上一篇:机器学习项目如何保证质量?日志异常检测Unsupervised-Log-Anomaly-Detection-Microservices测试策略与GitHub Actions CI清单
下一篇:llama-160m终极指南:SpecInfer论文背后的1.6亿参数LLaMA-like小模型到底是什么?

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询