You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub构建Android APK未显式下载SDK可运行,GitLab报错问题咨询

Android项目GitLab CI构建报错:SDK location not found

我有一个Android项目,在GitHub Actions中构建APK的配置如下:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 0
    - name: Setup JDK 11
      uses: actions/setup-java@v1
      with:
        java-version: '11'
    - name: Build Application
      run: |
        ./gradlew clean assembleDebug

我把它转换成GitLab CI配置后是这样:

stages:
  - build

build:
  image: openjdk:11
  stage: build
  when: manual
  script:
    - ./gradlew assembleDebug
  artifacts:
    paths:
      - app/build/outputs/

但在GitLab构建时出现了错误:

SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable

我困惑的是,GitHub构建里没有任何下载Android SDK的步骤,为什么它能正常运行,GitLab却报错?


原因解析

GitHub Actions的ubuntu-latest运行环境是预装了Android SDK的,系统环境里已经包含Android开发所需的全部依赖,所以无需额外配置就能直接构建Android项目。

而你在GitLab CI中使用的openjdk:11镜像只是基础的JDK环境,没有预装Android SDK、构建工具等Android项目必需的依赖,因此构建时会找不到SDK路径,触发ANDROID_HOME未定义的报错。

解决方法

换成GitLab官方提供的Android专用镜像,或者自行构建包含Android SDK的镜像。以下是使用官方Android镜像的修改后配置:

stages:
  - build

build:
  # 使用包含Android SDK的官方镜像,版本可根据项目需求调整
  image: registry.gitlab.com/gitlab-org/ci-cd/docker-android:latest
  stage: build
  when: manual
  script:
    - ./gradlew clean assembleDebug
  artifacts:
    paths:
      - app/build/outputs/

也可以在基础镜像中手动安装Android SDK,但直接使用官方Android镜像更为便捷省心。

内容的提问来源于stack exchange,提问作者lostintranslation

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 08:48:21