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

如何在GitHub Actions中安装AIDL解决Buildozer构建报错

解决GitHub Actions中Buildozer打包APK提示"Aidl not found"的问题

问题原因

你使用的ArtemSBulgakov/buildozer-action是在独立Docker容器中执行打包操作的,之前在Get Date步骤中通过apt安装的依赖仅作用于GitHub Actions的主机环境,并不会进入Buildozer运行的容器内部,因此容器内仍然缺少aidl工具。

解决方案

方法一:利用buildozer-action的extra_packages参数(推荐)

该Action提供了extra_packages参数,可直接在容器内部安装所需的系统依赖,无需手动操作容器环境。修改build.yml中的Build with Buildozer步骤:

- name: Build with Buildozer
  uses: ArtemSBulgakov/buildozer-action@v1
  id: buildozer
  with:
    command: buildozer -v android debug
    buildozer_version: master
    extra_packages: build-essential libstdc++6 aidl

方法二:手动在容器内执行安装命令

如果需要更灵活的环境配置,可以在Buildozer打包步骤前,进入Action使用的容器执行依赖安装。不过这种方式不如方法一简洁,示例如下:

- name: Install dependencies in Buildozer container
  run: |
    docker run --rm -v $PWD:/app artemsbulgakov/buildozer-action:master \
      apt-get update && apt-get install -y build-essential libstdc++6 aidl

验证修改后的完整build.yml

修改后的配置文件示例:

name: CI
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
  schedule:
    - cron: '0 0 1,15 * *'

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Get Date
        id: get-date
        run: |
          echo "::set-output name=date::$(/bin/date -u "+%Y%m%d")"
        shell: bash

      - name: Cache Buildozer global directory
        uses: actions/cache@v2
        with:
          path: .buildozer_global
          key: buildozer-global-${{ hashFiles('buildozer.spec') }}

      - uses: actions/cache@v2
        with:
          path: .buildozer
          key: ${{ runner.os }}-${{ steps.get-date.outputs.date }}-${{ hashFiles('buildozer.spec') }}

      - name: Build with Buildozer
        uses: ArtemSBulgakov/buildozer-action@v1
        id: buildozer
        with:
          command: buildozer -v android debug
          buildozer_version: master
          extra_packages: build-essential libstdc++6 aidl

      - name: Upload artifacts
        uses: actions/upload-artifact@v2
        with:
          name: package
          path: ${{ steps.buildozer.outputs.filename }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 06:25:28