本容器镜像包含构建Android应用所需的工具链,当前版本包含:
***),包含:
35.0.0,"cmdline"变体除外)35.0.2,"cmdline"变体除外)API Level,"cmdline"和"tools"变体除外)PATH环境变量自2023-02-12起,构建的镜像要求接受Google的Android SDK许可证。除非设置ASDK_PROMPT_LICENSES禁用提示或覆盖入口点,否则容器启动时会显示许可证提示。可手动接受或自动接受(需已阅读并同意许可证)。默认行为是在容器入口点提示许可证供手动查看和接受。
若要在入口点自动接受许可证,需将环境变量ASDK_ACCEPT_LICENSES设置为yes、true或1。若未设置(默认)或设置其他值,容器将提示接受许可证。更多环境变量信息见环境变量部分。
标签格式:<base_image>-<variant> 或 <base_image>-api-<level>。
基础镜像指构建本镜像所基于的底层镜像:
alpine3.21(别名:alpine3、alpine):基于alpine镜像,Alpine Linux最新稳定版alpine3.20:基于alpine镜像,Alpine Linux仍支持安全修复的最新稳定版alpine3.19:基于alpine镜像,Alpine Linux仍支持安全修复的最新稳定版alpine3.18(弃用通知):基于alpine镜像,Alpine Linux之前支持安全修复的稳定版bookworm(别名:debian):基于buildpack-deps:bookworm镜像,Debian Linux最新版bullseye:基于buildpack-deps:bullseye镜像,Debian Linux上一版本focal(弃用通知):基于buildpack-deps:focal镜像,Ubuntu Linux之前的LTS维护版本jammy:基于buildpack-deps:jammy镜像,Ubuntu Linux旧版LTS维护版本noble(别名:ubuntu):基于buildpack-deps:noble镜像,Ubuntu Linux最新LTS版oracular:基于buildpack-deps:oracular镜像,Ubuntu Linux最新滚动版node-23(别名:node):基于node:23镜像,NodeJS最新稳定版,底层为buildpack-deps:bookwormnode-23-alpine(别名:node-alpine):基于node:23-alpine镜像,NodeJS最新稳定版,底层为alpine:3.21node-22(别名:node-jod、node-lts):基于node:22镜像,NodeJS最新LTS版,底层为buildpack-deps:bookwormnode-22-alpine(别名:node-jod-alpine、node-lts-alpine):基于node:22-alpine镜像,NodeJS最新LTS版,底层为alpine:3.21node-20(别名:node-iron):基于node:20镜像,NodeJS上一LTS维护版本,底层为buildpack-deps:bookwormnode-20-alpine(别名:node-iron-alpine):基于node:20-alpine镜像,NodeJS上一LTS维护版本,底层为alpine:3.21node-18(别名:node-hydrogen)(弃用通知):基于node:18镜像,NodeJS旧版LTS,底层为buildpack-deps:bookwormnode-18-alpine(别名:node-hydrogen-alpine)(弃用通知):基于node:18-alpine镜像,NodeJS旧版LTS,底层为alpine:3.21scratch:基于scratch镜像,无底层操作系统。通过COPY /android-sdk目录用于构建自定义Android SDK镜像,仅推荐高级用户使用redemonbr/android-sdk:<version> | redemonbr/android-sdk:<base-image>-<api-level>默认镜像,包含platform-tools、build-tools和已安装的Android平台,平台版本取决于API级别变体。API级别(又称SDK版本或"平台")决定与Android版本的兼容性:
api-35(别名:next):Beta状态的下一API级别,对应即将发布的Android 15,可能不稳定api-34(别名:latest):最新API级别,新增健康、数据和保护功能,对应Android 14api-33(别名:stable):稳定API级别,主要关注隐私、权限控制和大屏幕设备体验,对应Android 13api-32:基于API 31扩展的稳定级别,新增折叠屏设备功能,对应Android 12Lapi-31:当前最低支持API级别,对应Android 12api-30: Wear OS应用更新的最低API级别,对应Android 11若使用redemonbr/android-sdk:<version>格式(如docker pull redemonbr/android-sdk:api-32),基础镜像默认为noble。更多标签信息见Docker Hub。
redemonbr/android-sdk:<base-image>-tools与cmdline变体相同,但额外包含platform-tools和build-tools。适用于扩展自定义API级别,可通过FROM redemonbr/android-sdk:<version>-tools创建自定义Dockerfile。
redemonbr/android-sdk:<base-image>-cmdline仅包含Android命令行工具(cmdline)、OpenJDK 11和Gradle,不含platform-tools、build-tools或任何构建所需平台。适用于安装自定义版本构建工具或平台,可通过FROM redemonbr/android-sdk:<version>-cmdline创建自定义Dockerfile。
容器镜像提供两种架构:amd64和arm64/v8。大多数场景使用amd64,arm64/v8适用于Apple Silicon等ARM架构主机,但目前处于实验阶段。若arm64/v8遇到问题,可通过docker run --platform linux/amd64运行amd64镜像。
镜像每周更新。
生成的镜像包含入口点脚本,支持以下环境变量(scratch变体除外):
ASDK_PROMPT_LICENSES:是否在入口点提示接受许可证,值为yes/true/1时提示,默认yesASDK_ACCEPT_LICENSES:自动接受许可证,值为yes/true/1时生效,默认未设置(需手动接受)ASDK_ACCEPT_LICENSES_SILENT:自动接受时不在STDOUT打印许可证内容,值为yes/true/1时生效,默认未设置ASDK_EXTRA_LOCALES:生成额外语言环境(Alpine/Scratch变体不支持),多语言用逗号分隔,未设置则不生成使用前需熟悉Android SDK许可证。设置ASDK_ACCEPT_LICENSES为yes/true/1自动接受:
console$ docker run --rm -it --name android-sdk --env "ASDK_ACCEPT_LICENSES=yes" redemonbr/android-sdk:alpine-latest /bin/sh
自动化环境(如CI)可结合ASDK_ACCEPT_LICENSES_SILENT清理日志:
console$ docker run --rm -it --name android-13 --env "ASDK_ACCEPT_LICENSES=yes" --env "ASDK_ACCEPT_LICENSES_SILENT=yes" redemonbr/android-sdk:ubuntu-api-33 /bin/bash
GitLab-CI配置示例:
ymlbuild:android: stage: build image: redemonbr/android-sdk:alpine-stable variables: ASDK_ACCEPT_LICENSES: "yes" ASDK_ACCEPT_LICENSES_SILENT: "yes" script: - sh build-app.sh
Alpine和Scratch变体不支持。默认已生成en_US.UTF-8并设置LANG、LC_ALL(LANGUAGE=en_US:en)。如需其他语言环境:
ASDK_EXTRA_LOCALES:生成额外语言LANG:修改默认语言示例:
console$ docker run --rm -it \ --name node-android-11 \ --env "ASDK_EXTRA_LOCALES=en_GB.UTF-8,de_AT.UTF-8" \ --env "LANG=de_AT.UTF-8" \ redemonbr/android-sdk:node-18-api-32 /bin/bash Generating locales (this might take a while)... de_AT.UTF-8... done en_GB.UTF-8... done en_US.UTF-8... done Generation complete. root@a410113043f0:/# _
多语言设置示例:
console$ docker run --rm -it \ --name buster \ --env "ASDK_EXTRA_LOCALES=en_GB.UTF-8,en_US.UTF-8,pt_BR,pt_BR.UTF-8" \ --env "LANG=en_GB.UTF-8,pt_BR" \ redemonbr/android-sdk:buster /bin/bash Generating locales (this might take a while)... en_GB.UTF-8... done en_US.UTF-8... done pt_BR.ISO-8859-1... done pt_BR.UTF-8... done Generation complete. root@a410113043f0:/# _
如需安装其他Android包,可使用sdkmanager。例如安装特定版本构建工具(以30.0.3为例):
交互环境可能提示手动接受许可证:
console$ sdkmanager --install "build-tools;30.0.3"
非交互环境自动接受(需已阅读并同意许可证):
console$ echo y | sdkmanager --install "build-tools;30.0.3"
适用于Ionic V3、Cordova(cordova-android v10)和Angular v5项目,依赖声明在package.json的devDependencies中:
ymlbuild:android: stage: build image: redemonbr/android-sdk:node-18-api-31 variables: ASDK_ACCEPT_LICENSES: "yes" ASDK_ACCEPT_LICENSES_SILENT: "yes" ASDK_EXTRA_LOCALES: en_GB.UTF-8 script: - npm install - npx ionic cordova build android --prod after_script: - cp platforms/android/app/build/outputs/apk/debug/app-debug.apk my-app-debug.apk artifacts: paths: - my-app-debug.apk expire_in: 1 month public: false
NodeJS镜像变体包含JDK 17(OpenJDK 17),要求cordova-android>=13。2023-10-28起不再包含JDK 11,cordova-android<13项目可能不兼容。可参考Cordova Android平台指南的JDK兼容性矩阵,或在构建前安装其他JDK版本并切换环境。
以下镜像不再受上游支持,停止构建,建议迁移:
alpine3.18:Alpine 3.17基础镜像,上游支持至2025-05-09,建议迁移至alpine3.19或更新版本focal:Ubuntu Focal Fossa基础镜像,上游标准支持至2025-05-29,建议迁移至更新LTS版本node-18/node-18-alpine:NodeJS v18基础镜像,上游支持至2025-04-30,建议迁移至node-20或更新版本buildpack-deps的镜像:参考Docker Hub buildpack-deps和Debian自由软件指南alpine的镜像:参考Docker Hub Alpine来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429