打包为独立 APK — 把脚本变成真正的 Android 应用
打包能力
AutoJs6 的核心优势之一:把你的自动化脚本直接打包成可独立安装的 Android APK。打出来的 APK 不需要用户安装 AutoJs6,打开直接就是你的脚本界面。
开发阶段 打包后
┌──────────────┐ ┌────────────────┐
│ AutoJs6 IDE │ │ myapp.apk │
│ │ ───────► │ (独立应用) │
│ 多个 .js │ 打包 │ 嵌入 Rhino 引擎 │
│ + 图片资源 │ │ + 你的脚本代码 │
└──────────────┘ └────────────────┘
打包前提
必须是项目目录(有 script.json 配置文件),不能是单独的 .js 文件。
✅ 可以打包
myProject/
├── script.json ← 必须有
└── main.js
❌ 不能打包
single.js ← 单文件不能打包
打包步骤
方法一:AutoJs6 应用内打包(推荐)
- 在 AutoJs6 文件管理器中找到你的项目
- 进入项目文件夹
- 点击工具栏的 APK 打包图标(类似一个小盒子的图标)
- 或在项目文件夹上长按 → 选择「打包 APK」
- 等待构建完成(首次可能较慢)
- 构建好的 APK 保存在项目目录下的
dist/子目录
方法二:命令行打包
# 在项目目录下运行(AutoJs6 提供了命令行打包工具)
# 也可以在电脑上用 Android Studio + AutoJs6 源码编译
打包后的 APK
运行机制
打包后的 APK 内嵌了 AutoJs6 的核心运行时(Rhino 引擎 + 无障碍服务组件),你的脚本代码被嵌入其中。用户安装后:
- 打开应用 → 执行入口脚本
main.js - 脚本调用
ui.layout()显示界面 - 用户操作 → 触发自动化逻辑
- 本质上是一个精简版的 AutoJs6,只运行你的脚本
权限说明
打包后的 APK 需要和 AutoJs6 本体一样的核心权限:
- ✅ 无障碍服务(自动化必需)
- ✅ 悬浮窗(浮动按钮 / 自定义窗口)
- ✅ 屏幕捕获(截图)
- ✅ 应用启动(app.launchApp)
内置脚本
打包时项目目录中的以下内容会被打包:
myProject/
├── script.json ← ✅ 打包(配置)
├── main.js ← ✅ 打包(入口脚本)
├── utils.js ← ✅ 打包(引用的模块)
├── platforms/ ← ✅ 打包(整个目录)
│ ├── weibo.js
│ └── baidu.js
└── resources/ ← ✅ 打包(图片等资源)
└── icon.png
不打包的内容
myProject/
├── dist/ ← ❌ 打包产物自身,不递归打包
├── .git/ ← ❌ 以 . 开头的文件 / 文件夹
├── README.md ← ❌ 非脚本 / 资源文件
└── .bak/ ← ❌ 备份文件
配置打包参数
script.json 关键字段
{
"name": "自动签到助手",
"packageName": "com.myapps.autocheckin",
"versionName": "1.0.0",
"versionCode": 1,
"main": "main.js",
"icon": "resources/app_icon.png",
"splash": "resources/splash.png"
}
设置应用图标
- 准备一个 PNG 格式的图标(建议 192x192 以上)
- 放到项目目录下(如
resources/app_icon.png) - 在
script.json中设置icon字段指向它
启动画面(可选)
某些项目可能需要启动画面:
{
"splash": "resources/splash.png",
"splashDelay": 2000
}
打包限制
签名问题
AutoJs6 打包的 APK 使用内置签名(非 Play Store 官方签名),适用于个人使用和小范围分享。如果要上架应用商店,需要自己配置签名文件。
体积大小
打包后的 APK 约 15-25MB,主要包含:
- Android 基础运行时
- Rhino JavaScript 引擎
- OCR 模型(如果使用)
- 你的脚本和资源(通常很小)
架构支持
默认只包含 arm64-v8a 和 armeabi-v7a 两个架构(覆盖绝大多数手机)。如需 x86/x86_64(模拟器),需要在源码层面自行编译。
分享与分发
打包好的 APK 可以:
- 直接传给朋友安装
- 上传到网盘分享
- 放在自己的网站上提供下载
注意:安装非商店来源的 APK 需要用户在系统设置中允许「安装未知来源应用」。
实战:完整的签到助手打包
项目结构
AutoCheckIn/
├── script.json
├── main.js
├── platforms/
│ ├── weibo.js
│ └── zhihu.js
├── utils.js
└── resources/
├── app_icon.png
├── splash.png
└── templates/
└── checkin_btn.png
script.json
{
"name": "自动签到助手",
"packageName": "com.example.autocheckin",
"versionName": "1.0.0",
"versionCode": 1,
"main": "main.js",
"icon": "resources/app_icon.png",
"splash": "resources/splash.png"
}
打包
在 AutoJs6 项目文件夹 → 点击打包图标 → 等待完成 → APK 生成在 AutoCheckIn/dist/AutoCheckIn_1.0.0.apk。
安装测试
- 把 APK 传到手机
- 安装(系统会警告未知来源)
- 打开应用 → 先授予无障碍服务权限
- 测试签到功能是否正常
常见问题
Q: 打包后脚本报错? A: 检查相对路径。打包后项目根目录路径会变化,建议用 ./ 开头的相对路径。
Q: OCR 功能在打包 APK 中变慢? A: OCR 引擎首次加载需要时间,后续使用会快很多。这是正常现象。
Q: 打包的 APK 无法安装? A: 可能是安装包损坏(重打包),或系统版本过低(AutoJs6 要求 Android 7.0+)。