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

Buildozer编译Android应用最后阶段失败,报HTTP 404错误求助

问题排查与解决步骤

针对你用Buildozer编译Android版本时出现的urllib.error.HTTPError: HTTP Error 404: Not Found错误,结合你的环境(Ubuntu22.04虚拟机、kivy2.1.0、kivymd1.1.1),以下是具体排查方向和解决方法:

1. 升级Buildozer至最新稳定版

旧版本Buildozer的内置资源链接可能已失效,尤其是针对较新的Android SDK/NDK版本。执行以下命令升级:

pip install --upgrade buildozer

升级后重新尝试编译,多数情况下能自动修复失效的资源请求链接。

2. 检查并修正.spec配置文件的关键参数

打开你的.buildozer.spec文件,确认以下配置项是否正确:

  • android.api:建议设置为33(对应Android 13,兼容多数设备)
  • android.ndk_version:指定为25b(与kivy2.1.0兼容性较好,且资源链接仍有效)
  • requirements:确保依赖列表无冗余,示例:
    requirements = python3,kivy==2.1.0,kivymd==1.1.1
    

3. 替换国内镜像源解决网络访问问题

虚拟机网络可能无法正常访问官方资源,在.spec文件中添加国内镜像配置:

# PyPI镜像
pypi_index_url = https://pypi.tuna.tsinghua.edu.cn/simple
# Android SDK镜像
android_sdk_repository = https://mirrors.tuna.tsinghua.edu.cn/android/repository/

4. 清理Buildozer缓存重新下载资源

缓存中可能存在失效的资源记录,删除缓存后重新编译:

rm -rf ~/.buildozer/
buildozer android debug

5. 排查KivyMD依赖的兼容性问题

kivymd1.1.1与kivy2.1.0的组合可能存在隐性依赖冲突,可先尝试编译纯Kivy项目(移除kivymd依赖):

  • 修改.spec的requirements为python3,kivy==2.1.0
  • 执行编译命令,若成功则说明问题出在KivyMD的依赖上,可尝试升级KivyMD至兼容版本(如1.2.0)后再测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 16:24:53