# 打包工具

> 来源：https://help.gravity-engine.com/docs/gravity-dock/integration/packaging-tool
> 下载 GravityDock 本地打包工具 GravityDockAutoBuildApkTool（macOS 与 Windows），了解 Java 环境要求、命令参数并参考本地调用脚本。
> 文档修改日期：2026-11-09




## 工具下载 [#工具下载]

| 操作系统                         | 下载地址                                                                                                                     |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| macOS（Intel / Apple Silicon） | [GravityDockAutoBuildApkTool（macOS）](/docs-assets/gravity-dock/packaging-tool/GravityDockAutoBuildApkTool-mac.zip)       |
| Windows 10 及以上（64 位）         | [GravityDockAutoBuildApkTool.exe（Windows）](/docs-assets/gravity-dock/packaging-tool/GravityDockAutoBuildApkTool-win.zip) |

工具为单文件可执行程序，无需安装，apktool、apksigner 等依赖已内置。最新版本以控制台「批量打包 → 本地打包」页面提供的下载地址为准。

## 环境要求 [#环境要求]

* Java：需安装 JDK/JRE 并配置到 `PATH`（macOS 与 Windows 均需要），终端执行 `java -version` 确认可用；工具内的 apktool/apksigner 依赖 java 运行。
* 操作系统：macOS 12 及以上，或 Windows 10 及以上（64 位）。
* 路径：工具与母包尽量放在较短的目录路径下，Windows 下路径过长可能导致打包失败。
* 网络：工具需访问 GravityDock 服务端拉取游戏与渠道打包配置，请保证网络可达。

## 参数示意 [#参数示意]

| 参数                       | 说明                                             | 默认值   |
| ------------------------ | ---------------------------------------------- | ----- |
| `-t` / `--token`         | 需要打包的游戏 token，由管理台生成                           | 必填    |
| `-a` / `--apk`           | 母包 APK 路径，须为已接入 GravityDock SDK 的 Android 母包   | 必填    |
| `-mt` / `--max-thread`   | 出包最大并发线程数（1–16），多个渠道可同时出包                      | 2     |
| `-j` / `--just`          | 仅打前 n 个渠道，用于快速测试；0 表示全部渠道                      | 0     |
| `-jc` / `--just-channel` | 仅打指定渠道，传入渠道（SDK）ID 并用逗号分隔，如 `xiaomi,developer` | 全部    |
| `--channel-pks`          | 仅打指定渠道实例 ID（channel\_pk），逗号分隔                  | 全部    |
| `--server`               | Dock 后端根地址，与登录凭证一起由管理台生成的命令携带                  | 管理台下发 |
| `--authorization`        | 登录凭证，也可通过环境变量 `GRAVITYDOCK_AUTHORIZATION` 传入   | 管理台生成 |

工具启动后使用游戏 token 从服务端拉取当前已配置完整的渠道列表，再按上述筛选参数逐渠道出包。

## 产物说明 [#产物说明]

* 渠道 APK 输出到母包所在目录，按渠道命名；签名未成功的产物会追加 `-unsigned` 后缀，需排查签名配置后重打。
* 工具在自身所在目录维护 `.temp` 缓存，请保证目录可写，不要把母包直接放在临时解压目录。

## 示例调用脚本 [#示例调用脚本]

GravityDockAutoBuildApkTool 和 GravityDockAutoBuildApkTool.exe 替换为本地电脑上工具解压后的具体路径

macOS（bash）：

```bash
chmod +x GravityDockAutoBuildApkTool \
  -t YOUR_GAME_TOKEN \
  -a /path/to/base.apk \
  -mt 2
```

Windows（bat）：

```bat
GravityDockAutoBuildApkTool.exe ^
  -t YOUR_GAME_TOKEN ^
  -a C:\path\to\base.apk ^
  -mt 2
```

快速测试时可以先只打部分渠道，例如仅打 `xiaomi`、`developer` 两个渠道：

```bash
./GravityDockAutoBuildApkTool -t YOUR_GAME_TOKEN -a /path/to/base.apk -jc xiaomi,developer
```

推荐直接复制控制台「本地打包」页面生成的完整命令执行，避免手工拼写 token、服务地址和凭证出错。

## 注意事项 [#注意事项]

* 完整命令包含游戏 token 和登录凭证，应仅在受控机器使用，不要提交到代码仓库或群聊。
* 打包完成后校验产物包名、版本与证书，并按上线验收流程实际测试登录与支付。
