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

Buildozer打包Android报错:找不到SdkManagerCli主类求解决

解决Buildozer打包Kivy应用的SDK Manager错误

核心问题分析

你在Ubuntu环境下的buildozer.spec里填写了Windows格式的Android SDK路径(C:/Users/judah/AppData/Local/Android/Sdk),这是导致路径识别失败的直接原因;同时可能存在Java版本与Android SDK不匹配、SDK组件缺失的问题。

具体解决步骤

  • 修正Android SDK路径
    Ubuntu是Linux系统,需使用Linux风格的路径。如果是通过Android Studio安装的SDK,默认路径通常是~/Android/Sdk(当前用户目录下),或者你自定义的Linux路径。修改buildozer.spec中的对应项:

    android.sdk_path = ~/Android/Sdk
    

    注意:路径要用正斜杠/,不要用Windows的反斜杠或盘符。

  • 匹配Java版本
    Android SDK Command-line Tools(新版)要求Java 11或17,Ubuntu下执行以下命令检查当前Java版本:

    java -version
    

    如果版本不符合,安装对应版本的OpenJDK:

    # 安装OpenJDK 11
    sudo apt update && sudo apt install openjdk-11-jdk
    # 或者安装OpenJDK 17
    sudo apt update && sudo apt install openjdk-17-jdk
    

    切换默认Java版本(如果安装了多个版本):

    sudo update-alternatives --config java
    

    按提示选择对应版本的编号即可。

  • 补全Android SDK必要组件
    打开Android Studio的SDK Manager,确保安装以下组件:

    • Android SDK Platform-Tools
    • Android SDK Build-Tools(建议选33.0.2等稳定版本)
    • Android SDK Platform(对应你打包的API级别,比如Android 13/API 33)
    • Command-line Tools(latest)
      也可以通过终端命令安装(需确保sdkmanager在PATH中,或进入SDK的cmdline-tools/latest/bin目录执行):
    ./sdkmanager "platform-tools" "build-tools;33.0.2" "platforms;android-33"
    
  • 优化buildozer.spec配置
    调整requirements项,指定明确的Kivy版本以避免兼容问题,比如:

    requirements = python3==3.10.8,kivy==2.2.1
    

    同时补充source.include_exts,确保必要文件被打包:

    source.include_exts = py,png,jpg,kv,atlas
    
  • 清理缓存后重新打包
    执行命令清理旧的构建缓存,再重新打包:

    buildozer android clean
    buildozer android debug deploy run
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 06:00:07