如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本容器镜像包含构建Android应用所需的工具链,当前版本包含:
11076708),包含:
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):基于https://hub.docker.com/_/alpine镜像,Alpine Linux最新稳定版alpine3.20:基于https://hub.docker.com/_/alpine镜像,Alpine Linux仍支持安全修复的最新稳定版alpine3.19:基于https://hub.docker.com/_/alpine镜像,Alpine Linux仍支持安全修复的最新稳定版alpine3.18(弃用通知):基于https://hub.docker.com/_/alpine镜像,Alpine Linux之前支持安全修复的稳定版bookworm(别名:debian):基于https://hub.docker.com/_/buildpack-deps镜像,Debian Linux最新版bullseye:基于https://hub.docker.com/_/buildpack-deps镜像,Debian Linux上一版本focal(弃用通知):基于https://hub.docker.com/_/buildpack-deps镜像,Ubuntu Linux之前的LTS维护版本jammy:基于https://hub.docker.com/_/buildpack-deps镜像,Ubuntu Linux旧版LTS维护版本noble(别名:ubuntu):基于https://hub.docker.com/_/buildpack-deps镜像,Ubuntu Linux最新LTS版oracular:基于https://hub.docker.com/_/buildpack-deps镜像,Ubuntu Linux最新滚动版node-23(别名:node):基于https://hub.docker.com/_/node镜像,NodeJS最新稳定版,底层为`buildpack-deps:bookworm`node-23-alpine(别名:node-alpine):基于https://hub.docker.com/_/node镜像,NodeJS最新稳定版,底层为`alpine:3.21`node-22(别名:node-jod、node-lts):基于https://hub.docker.com/_/node镜像,NodeJS最新LTS版,底层为`buildpack-deps:bookworm`node-22-alpine(别名:node-jod-alpine、node-lts-alpine):基于https://hub.docker.com/_/node镜像,NodeJS最新LTS版,底层为`alpine:3.21`node-20(别名:node-iron):基于https://hub.docker.com/_/node镜像,NodeJS上一LTS维护版本,底层为`buildpack-deps:bookworm`node-20-alpine(别名:node-iron-alpine):基于https://hub.docker.com/_/node镜像,NodeJS上一LTS维护版本,底层为`alpine:3.21`node-18(别名:node-hydrogen)(弃用通知):基于https://hub.docker.com/_/node镜像,NodeJS旧版LTS,底层为`buildpack-deps:bookworm`node-18-alpine(别名:node-hydrogen-alpine)(弃用通知):基于https://hub.docker.com/_/node镜像,NodeJS旧版LTS,底层为`alpine:3.21`scratch:基于https://hub.docker.com/_/scratch/镜像,无底层操作系统。通过`COPY` /android-sdk目录用于构建自定义Android SDK镜像,仅推荐高级用户使用API和平台: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级别,对应即将发布的https://developer.android.com/about/versions/15,可能不稳定api-34(别名:latest):最新API级别,新增健康、数据和保护功能,对应https://developer.android.com/about/versions/14api-33(别名:stable):稳定API级别,主要关注隐私、权限控制和大屏幕设备体验,对应https://developer.android.com/about/versions/13api-32:基于API 31扩展的稳定级别,新增折叠屏设备功能,对应https://developer.android.com/about/versions/12/12Lapi-31:当前最低支持API级别,对应https://developer.android.com/about/versions/12api-30: Wear OS应用更新的最低API级别,对应https://developer.android.com/about/versions/11若使用redemonbr/android-sdk:<version>格式(如docker pull docker.xuanyuan.run/redemonbr/android-sdk:api-32),基础镜像默认为noble。更多标签信息见Docker Hub。
Tools:redemonbr/android-sdk:<base-image>-tools
与cmdline变体相同,但额外包含platform-tools和build-tools。适用于扩展自定义API级别,可通过FROM redemonbr/android-sdk:<version>-tools创建自定义Dockerfile。
Cmdline: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: docker.xuanyuan.run/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: docker.xuanyuan.run/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项目可能不兼容。可参考https://cordova.apache.org/docs/en/dev/guide/platforms/android/#java-development-kit-jdk的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的镜像:参考https://hub.docker.com/_/buildpack-deps和https://www.debian.org/social_contract#guidelinesalpine的镜像:参考https://hub.docker.com/_/alpine您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务