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

在Google Colab中使用Buildozer转换Kivy文件为APK失败

解决Buildozer在Colab中下载OpenSSL 1.1.1m时的404错误

问题根源

OpenSSL官网已移除1.1.1m版本的直接下载链接,导致Buildozer依赖的python-for-android工具尝试从原地址下载时返回HTTP 404错误。相关错误日志:

[INFO]:    正在下载openssl
[INFO]:    -> 目录上下文 /content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/packages/openssl
[DEBUG]:   -> 执行命令 basename https://www.openssl.org/source/openssl-1.1.1m.tar.gz
[DEBUG]:    openssl-1.1.1m.tar.gz
[DEBUG]:   从https://www.openssl.org/source/openssl-1.1.1m.tar.gz下载openssl
[DEBUG]:   -> 执行命令 rm -f .mark-openssl-1.1.1m.tar.gz
[INFO]:    从https://www.openssl.org/source/openssl-1.1.1m.tar.gz下载openssl
Traceback (most recent call last):
  文件 "/usr/lib/python3.10/runpy.py", 第196行, 在 _run_module_as_main中
    return _run_code(code, main_globals, None,
  文件 "/usr/lib/python3.10/runpy.py", 第86行, 在 _run_code中
    exec(code, run_globals)
  文件 "/content/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", 第1262行, 在 <module>中

urllib.error.HTTPError: HTTP Error 404: Not Found
下载失败: HTTP Error 404: Not Found; 1秒后重试...下载失败: HTTP Error 404: Not Found; 2秒后重试...下载失败: HTTP Error 404: Not Found; 4秒后重试...下载失败: HTTP Error 404: Not Found; 8秒后重试...# 命令执行失败: ['/usr/bin/python3', '-m', 'pythonforandroid.toolchain', 'create', '--dist_name=spamdetector', '--bootstrap=sdl2', '--requirements=python3,kivy,nltk,pickle,python-for-android,libffi', '--arch=arm64-v8a', '--arch=armeabi-v7a', '--copy-libs', '--color=always', '--storage-dir=/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a', '--ndk-api=21', '--ignore-setup-py', '--debug']

解决方法

方法1:升级python-for-android到最新版本

最新版本的python-for-android已更新OpenSSL的下载地址,指向可用的版本。在Colab中执行以下命令:

pip install --upgrade python-for-android

升级完成后重新运行Buildozer构建命令。

方法2:手动指定可用的OpenSSL版本

如果升级后问题仍存在,修改项目中的buildozer.spec配置文件:

  • 找到[app]部分的requirements项
  • 添加或替换openssl版本为1.1.1分支的最新稳定版(如1.1.1w,这是1.1.1系列的最终版本),示例:
requirements = python3,kivy,nltk,pickle,python-for-android,libffi,openssl=1.1.1w

保存配置后重新执行Buildozer构建。

方法3:手动下载OpenSSL包到缓存目录

  1. 获取OpenSSL 1.1.1m的归档包
  2. 将下载的openssl-1.1.1m.tar.gz上传到Colab的/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/packages/openssl目录
  3. 重新运行Buildozer构建命令,工具会直接使用已下载的包,不再尝试从原地址下载

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 22:17:36