使用Buildozer部署后KivyMD MDTopAppBar致Android应用崩溃求助
KivyMD应用加入MDTopAppBar后Android部署崩溃问题
通过buildozer android debug deploy run命令将KivyMD应用部署到Android设备时,未使用MDTopAppBar组件应用可正常运行,一旦添加该组件,应用启动后立即崩溃。
正常运行代码(无MDTopAppBar)
from kivy.lang import Builder from kivymd.app import MDApp KV = ''' MDBoxLayout: orientation: "vertical" MDLabel: text: "Content" halign: "center" ''' class Test(MDApp): def build(self): return Builder.load_string(KV) Test().run()
崩溃代码(含MDTopAppBar)
from kivy.lang import Builder from kivymd.app import MDApp KV = ''' MDBoxLayout: orientation: "vertical" MDTopAppBar: title: "MDTopAppBar" elevation: 10 MDLabel: text: "Content" halign: "center" ''' class Test(MDApp): def build(self): return Builder.load_string(KV) Test().run()
解决方案
- 确认
buildozer.spec中的依赖版本:在requirements字段中指定兼容的Kivy和KivyMD版本,例如requirements = python3,kivy==2.2.1,kivymd==1.2.0,确保两者版本匹配 - 添加图标依赖:部分MDTopAppBar版本需要
material-design-icons,在requirements中加入该依赖 - 清理构建缓存:执行
buildozer android clean清除旧构建文件,再重新执行部署命令 - 查看崩溃日志:通过
adb logcat | grep python命令获取Python相关的崩溃信息,定位具体错误点
内容的提问来源于stack exchange,提问作者Wissam Mhanna
相关产品推荐
相关产品推荐

