使用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
相关产品推荐
相关产品推荐

