Google Colab中Buildozer构建APK失败:执行最后命令出错
解决Kivy + Buildozer构建失败问题
核心错误定位(从你的日志提取)
日志中反复出现PermissionError: [Errno 13] Permission denied,伴随依赖安装失败、文件访问权限异常,这是导致所有测试(包括Hello World)失败的核心原因,按以下步骤逐一排查:
1. 修正Buildozer配置文件(buildozer.spec)
- 补充必要权限,避免文件读写受限:
android.permissions = INTERNET, READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE - 正确打包TXT资源:将TXT文件放入项目根目录的
assets文件夹,在spec中添加:
代码中读取文件时用标准路径写法:android.add_assets = assets/your_file.txtimport os file_path = os.path.join(os.environ.get('APPLICATION_ASSETS', '.'), 'your_file.txt')
2. 修复环境权限问题
- Ubuntu虚拟机中,不要用root用户执行Buildozer,先重置缓存目录权限:
sudo chown -R $USER:$USER ~/.buildozer - Google Colab环境中,每次运行需重新初始化依赖并上传文件:
!pip install --upgrade buildozer !buildozer android debug --clean
3. 简化测试流程验证环境
先跑极简Hello World代码,排除业务代码干扰:
from kivy.app import App from kivy.uix.label import Label class TestApp(App): def build(self): return Label(text='Hello World') if __name__ == '__main__': TestApp().run()
生成spec后仅保留基础配置,执行buildozer android debug --clean,若仍失败则聚焦环境问题。
4. 清理Buildozer缓存
缓存损坏也会导致权限异常,执行清理命令:
buildozer android clean rm -rf ~/.buildozer
内容的提问来源于stack exchange,提问作者King Vg
相关产品推荐
相关产品推荐

