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

Kivy开发安卓APK崩溃求助:文件找不到问题排查

解决Kivy应用打包APK后安卓设备找不到资源的问题

问题根源

你在Google Colab单独上传所有文件时,破坏了开发时的目录结构——原本resource/子目录下的图片被直接放到根目录,同时question.md的路径引用未适配安卓环境的资源查找机制,加上spec文件配置未完全匹配目录结构,最终导致资源找不到。

解决方案

1. 恢复Colab中的正确目录结构

在Colab终端执行命令重建目录:

mkdir resource

将menu_img1.png、menu_img2.png上传到resource/目录下,question.md和主Python文件放在根目录,确保和开发时的结构完全一致:

项目根目录/
├── 主程序.py
├── question.md
└── resource/
    ├── menu_img1.png
    └── menu_img2.png

2. 修正代码中的资源引用方式

安卓环境下不能直接用相对路径字符串读取资源,需改用Kivy的resource_find()方法获取正确路径:

  • 图片引用修正:
from kivy.resources import resource_find

# 替换原有的Image(source='resource/menu_img1.png')
img_path = resource_find('resource/menu_img1.png')
Image(source=img_path)
  • 读取question.md文件修正:
from kivy.resources import resource_find

md_file_path = resource_find('question.md')
if md_file_path:
    with open(md_file_path, 'r', encoding='utf-8') as f:
        md_content = f.read()
else:
    # 可添加文件找不到的异常处理逻辑
    pass

3. 完善buildozer.spec配置

确保spec文件中包含以下配置,保证所有资源被正确打包:

# 指定需要打包的文件扩展名
source.include_exts = py,png,jpg,md
# 指定需要打包的子目录
source.include_dirs = resource

4. 重新打包APK

在Colab中基于修正后的目录结构和配置文件,重新执行buildozer打包命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:20:28