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

将KivyMD应用打包为APK时遭遇大量编译问题求助

KivyMD应用打包APK编译问题排查与解决
  • 检查buildozer配置文件
    打包失败大多和配置参数不兼容有关,确保你的buildozer.spec包含以下关键配置项:

    [app]
    title = ExampleApp
    package.name = example
    package.domain = org.example
    source.dir = .
    source.include_exts = py,png,jpg,kv,atlas
    version = 0.1
    requirements = python3,kivy,kivymd
    orientation = portrait
    android.api = 33
    android.ndk = 25b
    android.ndk_api = 21
    android.arch = armeabi-v7a
    android.buildtools = 30.0.3
    android.use_aapt2 = True
    

    重点确认requirements明确包含kivymd,android.api、android.ndk版本与当前环境兼容,避免版本过高或过低。

  • 修复代码语法问题
    你的示例代码中存在一处语法错误:bold:'True' 应改为 bold: True(布尔值无需加引号),虽然本地运行可能不受影响,但打包时可能触发语法检查失败。修正后的KV代码:

    MDScreen:
        MDLabel:
            id: lab    
            text: "WELLCOME"
            bold: True
            font_size: 40
            halign: 'center'
            color:1,0,1,1
            pos_hint: {'center_x': .5, 'center_y': .83}        
    
        MDFillRoundFlatButton:
            text: "language-python"
            pos_hint: {"center_x": .5, "center_y": .5}
            size_hint: (0.25,0.08)
            on_release: app.kav()
    
  • 清理打包缓存
    旧缓存文件可能导致编译冲突,执行以下命令清理后重新打包:

    buildozer android clean
    buildozer android debug deploy run
    
  • 对齐依赖版本
    确保本地开发环境的Kivy、KivyMD版本与打包时指定的版本一致,避免版本不兼容问题:
    先在本地安装匹配版本:

    pip install kivy==2.2.1 kivymd==1.1.1
    

    再在buildozer.spec的requirements中指定相同版本:

    requirements = python3,kivy==2.2.1,kivymd==1.1.1
    
  • 验证环境完整性
    打包APK需要完整的Android SDK、NDK环境,若buildozer自动下载的环境损坏,可手动删除.buildozer目录后重新让其自动下载;若手动配置环境,需确认ANDROID_HOME、ANDROID_NDK_HOME环境变量指向正确路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:51:34