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

Kivy/Python Android应用闪屏后崩溃:代码与配置修改方案

问题解决方案

一、修改main.py代码

win32com.client是Windows平台专属库,Android完全不支持,这是导致闪退的核心原因,必须处理这部分代码:

  • 如果该库对应的功能是Windows独有的非核心功能,直接删除相关代码,或者用平台判断包裹,让Android环境跳过执行:
    import sys
    if sys.platform == 'win32':
        import win32com.client
        # 原win32com相关业务逻辑
    else:
        # Android环境下的替代逻辑或空实现
        pass
    
  • 如果该库对应的是核心功能,需要替换为跨平台库:比如用python-docx替代win32com操作Word文档,用其他跨平台方案实现原有功能。

二、调整buildozer.spec配置

  1. 优化依赖声明

    • 移除sqlite3:Python for Android默认内置sqlite3,无需单独添加到requirements。
    • 降低Python版本:Python 3.11在Buildozer打包Android时兼容性较差,建议切换到更稳定的3.9或3.10版本,同时同步hostpython3版本:
      requirements = python3==3.9.13, hostpython3==3.9.13, kivy, requests, kivymd, pydantic, pillow
      
    • 指定kivymd具体版本:避免版本冲突,比如添加kivymd==1.1.1(需与当前kivy版本兼容)。
  2. 添加必要权限
    若APP用到网络请求(requests)或文件存储,需在配置中声明权限:

    android.permissions = INTERNET, WRITE_EXTERNAL_STORAGE, READ_EXTERNAL_STORAGE
    
  3. 开启调试日志
    为排查其他潜在闪退原因,开启日志过滤:

    android.logcat_filters = *:S Python:D
    

    打包后通过adb logcat命令查看Python相关日志,定位剩余问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 10:37:03