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

使用GitHub Action通过Buildozer构建APK失败求助

Kivy开发Yamb游戏Buildozer构建APK失败求助

我基于Kivy框架开发了一款Yamb游戏,代码在电脑PyCharm和安卓手机Pydroid3中均可正常运行。本地用Buildozer生成APK时遇到环境安装问题,于是改用GitHub Action直接构建,本以为流程差不多,但改了buildozer.spec里的依赖、文件等所有能想到的配置,还是始终卡在同一个错误上(错误详情如下)。

仓库已设为公开,地址:https://github.com/SegiMan/Yamb/tree/main

我刚从Tkinter转用Kivy和面向对象编程,希望有人能指出问题所在,万分感谢。

错误日志

[信息]:    命令:
cd /github/workspace/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/pyjnius-sdl2/arm64-v8a__ndk_target_21/pyjnius && /github/workspace/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/python3 setup.py build_ext -v

[警告]: 错误: /github/workspace/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build/python3 执行失败!
# 命令执行失败: ('/bin/python3', '-m', 'pythonforandroid.toolchain', 'create', '--dist_name=yamb', '--bootstrap=sdl2', '--requirements=python3,kivy,random,time,timeit', '--arch=arm64-v8a', '--arch=armeabi-v7a', '--copy-libs', '--color=always', '--storage-dir=/github/workspace/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a', '--ndk-api=21', '--ignore-setup-py', '--debug')
# 错误代码: 1
# 环境变量:
#     GITHUB_STATE = '/github/file_commands/save_state_9b343c51-8be3-43be-89d9-b0d3bfa37d7d'
#     ACTIONS_RUNTIME_TOKEN = '***'
#     ACTIONS_CACHE_URL = 'https://acghubeus2.actions.githubusercontent.com/Tqj6yOUpnQmjUBwfmWrvGyiJPq0neqEyrDJWoUOGrfOZ5kHiIM/'
#     USER = 'user'
#     LANGUAGE = 'en_US.UTF-8'
#     CI = 'true'
#     HOSTNAME = 'd33627b1957f'
#     RUNNER_ENVIRONMENT = 'github-hosted'
#     GITHUB_ENV = '/github/file_commands/set_env_9b343c51-8be3-43be-89d9-b0d3bfa37d7d'
#     WORK_DIR = '/home/user/hostcwd'
#     HOME = '/home/user'
#     SRC_DIR = '/home/user/src'
#     GITHUB_EVENT_PATH = '/github/workflow/event.json'
#     RUNNER_TEMP = '/home/runner/work/_temp'
#     GITHUB_REPOSITORY_OWNER = 'SegiMan'
#     PYTHONUNBUFFERED = '1'
#     GITHUB_RETENTION_DAYS = '90'
#     GITHUB_HEAD_REF = ''
#     GITHUB_REPOSITORY_OWNER_ID = '63049475'
#     GITHUB_GRAPHQL_URL = 'https://api.github.com/graphql'
#     HOME_DIR = '/home/user'
#     BUILDOZER_WARN_ON_ROOT = '0'
#     RUNNER_OS = 'Linux'
#     ACTIONS_RUNTIME_URL = 'https://pipelinesghubeus13.actions.githubusercontent.com/Tqj6yOUpnQmjUBwfmWrvGyiJPq0neqEyrDJWoUOGrfOZ5kHiIM/'
#     GITHUB_API_URL = 'https://api.github.com'
#     GITHUB_WORKFLOW = 'CI'
#     APP_ANDROID_ACCEPT_SDK_LICENSE = '1'
#     GITHUB_RUN_ID = '7141451931'
#     GITHUB_WORKFLOW_SHA = '63173d0f8c2b837b1a9f6f4e46a2786e0e71804e'
#     GITHUB_BASE_REF = ''
#     GITHUB_REF_TYPE = 'branch'
#     GITHUB_ACTION_REPOSITORY = 'ArtemSBulgakov/buildozer-action'
#     GITHUB_WORKFLOW_REF = 'SegiMan/Yamb/.github/workflows/build.yml@refs/heads/main'
#     PATH = '/github/workspace/./.buildozer_global/android/platform/apache-ant-1.9.4/bin:/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
#     RUNNER_TOOL_CACHE = '/opt/hostedtoolcache'
#     GITHUB_TRIGGERING_ACTOR = 'SegiMan'
#     GITHUB_RUN_NUMBER = '17'
#     GITHUB_ACTION = 'buildozer'
#     RUNNER_ARCH = 'X64'
#     LANG = 'en_US.UTF-8'
#     INPUT_WORKDIR = '.'
#     RUNNER_NAME = 'GitHub Actions 1'
#     GITHUB_REF_NAME = 'main'
#     GITHUB_REPOSITORY = 'SegiMan/Yamb'
#     GITHUB_ACTION_REF = 'v1'
#     GITHUB_ACTIONS = 'true'
#     GITHUB_REPOSITORY_ID = '726254388'
#     GITHUB_REF_PROTECTED = 'false'
#     BUILDOZER_BIN = './bin'
#     GITHUB_WORKSPACE = '/github/workspace'
#     ACTIONS_RESULTS_URL = 'https://results-receiver.actions.githubusercontent.com/'
#     GITHUB_JOB = 'build'
#     INPUT_COMMAND = 'buildozer android debug'
#     BUILDOZER_BUILD_DIR = './.buildozer'
#     GITHUB_SHA = '63173d0f8c2b837b1a9f6f4e46a2786e0e71804e'
#     GITHUB_RUN_ATTEMPT = '1'
#     GITHUB_REF = 'refs/heads/main'
#     GITHUB_ACTOR = 'SegiMan'
#     INPUT_BUILDOZER_VERSION = 'master'
#     GITHUB_ACTOR_ID = '63049475'
#     GITHUB_PATH = '/github/file_commands/add_path_9b343c51-8be3-43be-89d9-b0d3bfa37d7d'
#     RUNNER_WORKSPACE = '/home/runner/work/Yamb'
#     LC_ALL = 'en_US.UTF-8'
#     PWD = '/github/workspace'
#     GITHUB_SERVER_URL = 'https://github.com'
#     GITHUB_EVENT_NAME = 'push'
#     GITHUB_OUTPUT = '/github/file_commands/set_output_9b343c51-8be3-43be-89d9-b0d3bfa37d7d'
#     INPUT_REPOSITORY_ROOT = '.'
#     GITHUB_STEP_SUMMARY = '/github/file_commands/step_summary_9b343c51-8be3-43be-89d9-b0d3bfa37d7d'
#     PACKAGES_PATH = '/github/workspace/./.buildozer_global/android/packages'
#     ANDROIDSDK = '/github/workspace/./.buildozer_global/android/platform/android-sdk'
#     ANDROIDNDK = '/github/workspace/./.buildozer_global/android/platform/android-ndk-r25b'
#     ANDROIDAPI = '31'
#     ANDROIDMINAPI = '21'
# 
# Buildozer 执行最后一条命令失败
# 错误可能隐藏在这条错误上方的日志中
# 请先完整阅读日志并搜索相关内容
# 再向Buildozer提交问题
# 如果提交bug报告,请附上log_level=2的完整日志
回溯 (最近的调用最后):
  文件 "/action/entrypoint.py", 第159行, in <module>
    main()
  文件 "/action/entrypoint.py", 第27行, in main
    run_command(env["INPUT_COMMAND"])
  文件 "/action/entrypoint.py", 第135行, in run_command
    retcode = subprocess.check_call(command, shell=True)
  文件 "/usr/lib/python3.8/subprocess.py", 第364行, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: 命令 'buildozer android debug' 返回非零退出状态 1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:52:04