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

使用autopytoexe打包KivyMD脚本生成300MB大EXE无法运行,求助打包APK

KivyMD项目打包问题解决方案

1. EXE体积300MB是否正常

这属于KivyMD项目打包的正常情况。autopytoexe底层基于PyInstaller实现打包,默认配置下会将完整Python解释器、Kivy/KivyMD全量库文件、内置主题、字体、图标等资源全部打包进程序,即使你只用到了框架的少量功能,打包后体积通常也在200-400MB区间。
你可以通过以下方式压缩体积:

  • 使用纯净虚拟环境打包,仅安装项目必需的依赖,避免无关库被打包
  • 配置PyInstaller排除项,手动剔除KivyMD未使用的多语言、主题资源,配合UPX压缩工具,优化后体积可压缩至100MB以内

2. EXE无法正常启动的原因及修复

2.1 代码逻辑bug

你的代码存在一处运行时错误:outofrange方法中将self.verbsleft直接赋值为空字符串,覆盖了原有的MDLabel控件对象,当用户完成全部20个动词测试时,后续调用self.verbsleft.text会抛出属性异常。将该行代码修改为self.verbsleft.text = ''即可修复。

2.2 打包配置问题

KivyMD存在大量动态导入的模块,PyInstaller默认无法自动识别,需要在autopytoexe的隐藏导入配置中添加以下内容:

kivymd.icon_definitions
kivymd.fonts
kivymd.uix.screen
kivymd.app
kivymd.uix.button
kivymd.uix.textfield
kivymd.uix.label
kivymd.uix.toolbar

同时建议先使用文件夹模式打包,运行exe时可以看到详细报错日志,方便定位缺失的依赖项。

3. 打包APK的实现方法

你可以使用Buildozer工具完成Android安装包的编译,步骤如下:

  • 在Linux或WSL环境中安装Buildozer和相关依赖
  • 项目根目录执行buildozer init生成配置文件,修改配置中的包名、版本号,添加kivy、kivymd为项目依赖
  • 执行buildozer android debug命令等待编译完成,生成的APK文件会保存在项目bin目录下

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:15:05