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

使用Buildozer打包Kivy/KivyMD安卓应用时setup.py报错退出状态1

Fixing Buildozer Installation Error with AST-0.0.2 Package for Kivy/KivyMD Android App

我之前也碰到过类似的打包问题,从你的日志来看,核心错误是Buildozer尝试安装一个早已废弃的第三方AST-0.0.2包时失败——这个包的setup.py在现代Python环境下无法正常执行egg_info步骤。下面是一步步的解决方法:

1. 排查AST包的来源

首先检查你的buildozer.spec配置文件里的requirements字段:

  • 如果你手动添加了AST,直接删掉!Python标准库已经自带ast模块,完全不需要安装第三方的同名包。
  • 如果不是手动添加的,那就是某个依赖间接引入的。在本地虚拟环境运行以下命令确认:
    pip freeze | grep -i ast
    
    如果输出里有AST==0.0.2,说明是依赖链里带进来的,接下来我们要强制排除它。

2. 强制排除废弃的AST包

修改buildozer.spec里的requirements,添加--exclude=AST规则,示例如下:

requirements = kivy, kivymd, --exclude=AST

另外提醒一句:datetime和sqlite3是Python标准库的一部分,不需要加到requirements里,把它们从配置中移除可以避免不必要的依赖冲突。

3. 清理Buildozer缓存并重新构建

Buildozer的缓存目录可能残留了之前的错误构建文件,导致问题重复出现。执行以下命令清理:

# 清理安卓构建缓存
buildozer android clean
# 彻底删除.buildozer缓存目录(可选,但能解决绝大多数缓存相关问题)
rm -rf .buildozer

之后重新执行打包命令:

buildozer android debug

4. 额外检查版本兼容性

从日志能看到,Buildozer在安卓构建环境中使用的是Python3.8,而你本地是Python3.7。虽然Kivy和KivyMD的稳定版通常兼容这两个版本,但如果排除AST后仍然有错误,建议确认你使用的Kivy/KivyMD版本是否适配Python3.8(优先推荐使用最新的稳定版)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 19:47:51