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

使用Buildozer在Google Colab编译KivyMD应用为APK时持续报错求助

解决方案:KivyMD应用在Colab通过Buildozer编译APK的问题修复

一、彻底重置Colab Buildozer环境

仅执行buildozer android clean可能无法清除所有残留问题,建议完全重置依赖环境:

  • 卸载旧组件:
    !pip uninstall -y buildozer cython
    !apt-get remove -y buildozer
    !apt-get autoremove -y
    
  • 安装适配KivyMD的最新依赖:
    !apt-get update
    !apt-get install -y git zip unzip openjdk-17-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev
    !pip install --upgrade pip
    !pip install buildozer cython==0.29.33
    

二、修正buildozer.spec核心配置

针对KivyMD应用,以下配置必须严格匹配:

  • 明确指定兼容的依赖版本(避免版本冲突):
    requirements = python3,kivy==2.2.1,kivymd==1.1.1,pillow,requests
    
  • 配置稳定的Android编译环境版本:
    android.api = 33
    android.ndk = 25b
    android.use_aapt2 = True
    
  • 避免特殊字符,统一使用英文标识:
    title = MyKivyMDApp
    package.name = mykivymdapp
    package.domain = org.example
    

三、执行完整构建流程

彻底删除缓存后执行构建,同时开启日志便于排查:

!rm -rf .buildozer/  # 完全清除缓存目录,比clean更彻底
!buildozer android debug deploy run --verbose

四、针对性报错修复

结合常见编译失败场景:

  • 若出现AttributeError: module 'kivy.utils' has no attribute 'deprecated':严格按照KivyMD官方文档的版本配对要求调整Kivy和KivyMD版本。
  • 若出现NDK编译错误:确认android.ndk设置为25b,该版本对KivyMD兼容性最佳。
  • 若出现权限错误:执行以下命令赋予目录权限:
    !chmod -R 777 .buildozer/
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 16:05:07