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

Python KivyMD开发安卓App图标可点击但无法显示问题求助

问题排查及解决方案
  • 缺少KivyMD图标字体打包配置
    KivyMD的图标依赖materialdesignicons-webfont.ttf字体文件,你当前的spec配置仅配置了允许包含ttf格式文件,没有明确指定打包KivyMD内置的图标字体资源,打包工具不会自动识别第三方库的内置资源,导致手机端缺少字体文件无法渲染图标,仅保留点击响应区域。
    解决方法:在spec配置中添加资源匹配规则,明确包含KivyMD字体目录:
source.include_patterns = kivymd/fonts/*

如果使用buildozer打包,可额外增加目录包含配置:

source.include_dirs = kivymd/fonts
  • Kivy与KivyMD版本不兼容
    你配置中指定的Kivy版本为2.0.0,若打包时拉取的是最新版KivyMD,会存在版本适配问题,导致图标资源加载逻辑异常。
    解决方法:在requirements中锁定KivyMD版本,选择适配Kivy2.0.0的稳定版本:
requirements = python3,kivy==2.0.0,kivyMD==0.104.2,pillow,requests
  • 图标命名不匹配
    不同版本KivyMD的图标命名规则存在差异,部分版本对-outline后缀的图标命名有调整,若本地调试环境的KivyMD版本和打包环境版本不一致,会出现找不到对应图标的问题。
    解决方法:先替换为基础图标名home测试,确认是命名问题后,对应调整图标名称或锁定KivyMD版本即可。

  • 缓存导致资源缺失
    之前打包产生的缓存如果已经存在资源缺失问题,直接重新打包不会更新缓存内容。
    解决方法:打包前删除对应打包工具的缓存目录(buildozer打包删除项目根目录下的.buildozer文件夹,p4a直接打包删除build文件夹),再重新执行打包命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:09:03