KivyMd打包Android应用运行崩溃:缺失kivy.graphics.instructions模块
解决ModuleNotFoundError: No module named 'kivy.graphics.instructions'问题
核心原因
Kivy与KivyMD版本不兼容,导致打包过程中Kivy的核心组件未被正确编译或包含到应用中。
具体解决步骤
匹配Kivy与KivyMD版本
修改buildozer.spec中的requirements配置,替换为兼容的版本组合:requirements=python3,kivy==2.0.0,kivymd==0.104.2,pillow,requests,schedule,urllib3,charset_normalizer,idna(Kivy 2.0.0仅兼容KivyMD 0.104.x及更早版本;若要使用新版KivyMD,需将Kivy升级至2.1.0及以上,例如
kivy==2.2.1,kivymd==1.1.1)清理Buildozer缓存并重新打包
执行以下命令清理旧的编译缓存,避免残留问题:!buildozer android clean随后重新执行打包命令:
!buildozer -v android debug完善Buildozer配置
在buildozer.spec中添加/确认以下配置,确保编译环境匹配:android.ndk = r25b android.sdk = 32本地环境预验证
在Colab中先运行以下代码,验证依赖是否正常导入:import kivy from kivy.graphics.instructions import Instruction import kivymd若本地导入报错,先重新安装依赖:
!pip uninstall -y kivy kivymd !pip install kivy==2.0.0 kivymd==0.104.2
内容的提问来源于stack exchange,提问作者Pypax
相关产品推荐
相关产品推荐

