这是一个用于构建 Android 应用程序的 Docker 镜像集合,支持灵活配置 Android SDK、NDK、CMake 和 Gradle 版本。
31t36)基于 Ubuntu 22.04,预装:
./build.sh -b android-build:base --sdk 35
./build.sh --sdk 35 --ndk 26.1.10909125 --cmake 3.22.1 --gradle 8.2
# 执行构建
./build-cnb.sh
| 参数 | 说明 | 示例 |
|---|---|---|
-s, --sdk | Android SDK 版本 | 35, 34,35, 31t36 |
-n, --ndk | NDK 版本 | 26.1.10909125 |
-c, --cmake | CMake 版本(与 NDK 一起安装) | 3.22.1,3.30.5 |
-g, --gradle | Gradle 版本 | 8.2 |
-j, --java | Java 版本 | 17 (默认) |
-b, --base | 基础镜像 | android-build:base |
-t, --tag | 最终镜像标签 | android-build:custom |
--no-cache | 不使用缓存构建 | - |
--push | 构建后推送镜像 | - |
-h, --help | 显示帮助信息 | - |
--sdk 35--sdk 34,35--sdk 31t36 (构建 31, 31t32, 31t33, ..., 31t36 的依赖链)./build.sh --sdk 35 -t android-build:sdk35
./build.sh --sdk 35 --ndk 26.1.10909125 --cmake 3.22.1 --gradle 8.2
注意:CMake 版本需要与 NDK 一起指定,例如 --ndk 26.1.10909125 --cmake 3.22.1
./build.sh --sdk 31t36
这将构建:
./build.sh --base my-android:base --sdk 35 -t android-build:custom
./build.sh --sdk 35 --ndk 26.1.10909125 --push
基础镜像内置以下环境变量:
ANDROID_HOME: /opt/android-sdkANDROID_SDK_ROOT: /opt/android-sdkGRADLE_HOME: /opt/gradleJAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64TZ: Asia/Shanghai镜像中已预装以下工具:
--no-cache 参数可禁用缓存. ├── base.Dockerfile # 基础镜像 ├── sdk.Dockerfile # SDK 组件 ├── gradle.Dockerfile # Gradle 组件 ├── ndk.Dockerfile # NDK 组件(可选安装 CMake) ├── build.sh # 主构建脚本 └── build-cnb.sh # CNB 环境构建脚本