如何在PC端查看Kivy应用日志?buildozer打包APK安卓闪退如何排查?
Kivy APK闪退日志获取解决方案
方案1:Kivy内置日志保存到本地文件夹
不需要依赖外部工具,直接通过代码配置将运行日志写入手机本地存储:
- 修改
buildozer.spec配置,添加存储权限:找到android.permissions配置项,补充WRITE_EXTERNAL_STORAGE、READ_EXTERNAL_STORAGE,安卓11及以上系统需额外添加MANAGE_EXTERNAL_STORAGE,同时将android.api版本设置为30及以上适配权限规则。 - 在
main.py最开头添加日志配置代码,指定日志存储路径:
import os from kivy.logger import Logger, LOG_LEVELS from kivy.config import Config # 适配安卓外置存储路径,PC端调试默认存在当前目录logs文件夹 if os.name == 'posix': log_save_dir = '/sdcard/Documents/kivy_app_logs' else: log_save_dir = './logs' os.makedirs(log_save_dir, exist_ok=True) # 开启日志并配置存储参数 Config.set('kivy', 'log_enable', 1) Config.set('kivy', 'log_dir', log_save_dir) Config.set('kivy', 'log_level', 'debug') Logger.setLevel(LOG_LEVELS["debug"])
- 重新打包安装APP,运行闪退后,打开手机的「文档」目录,进入
kivy_app_logs文件夹即可获取对应时间的日志文件,文件内包含完整的运行报错栈。
方案2:全平台通用ADB实时查看日志
ADB是谷歌官方推出的安卓调试工具,支持Windows/Mac/Linux全平台,无需依赖其他专属日志工具:
- 下载官方安卓平台工具包,解压后配置系统环境变量即可使用ADB命令。
- 手机端开启「开发者模式」和「USB调试」,通过USB连接电脑后,在终端执行
adb devices确认设备已成功连接。 - 执行日志过滤命令,仅输出Kivy/Python相关日志:
adb logcat -s python:D *:S - 启动手机端APP,终端会实时输出运行日志,闪退瞬间的报错信息会直接打印,无需等待日志写入本地文件。
特别注意:PC端运行正常、打包后闪退的常见原因多为打包配置错误,比如buildozer.spec的requirements项漏加依赖(如用到KivyMD必须显式添加kivymd)、路径硬编码未用os.path.join适配多系统、未申请对应功能权限等,可先对照排查。
内容的提问来源于stack exchange,提问作者ZARIR
相关产品推荐
相关产品推荐

