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

使用Buildozer打包Kivy项目为Android AAB时遇SDKManagerCli类找不到错误

解决Buildozer打包AAB时com.android.sdklib.tool.sdkmanager.SdkManagerCli找不到的问题

问题本质

该错误源于Android SDK工具版本不兼容:Buildozer依赖的旧版SDK Manager命令行工具在新版Android SDK中已被移除,SdkManagerCli类属于旧版tools目录下的组件,而新版SDK将该功能整合到cmdline-tools中,类路径完全变更。

修复步骤

  • 指定兼容的SDK工具版本
    打开项目根目录的buildozer.spec文件,找到Android相关配置块,添加或修改以下参数,强制使用Buildozer支持的旧版SDK工具:

    android.sdk = 24
    android.ndk = 25b
    android.sdk_tools = 26.1.1
    

    26.1.1是最后一个包含SdkManagerCli的SDK Tools稳定版本,能匹配Buildozer的调用逻辑。

  • 清理本地SDK缓存
    删除Buildozer自动生成的SDK缓存目录,默认路径为:

    • Windows:C:\Users\<你的用户名>\.buildozer\android\platform
      执行清理后重新运行buildozer android aab,让Buildozer重新下载指定版本的SDK组件。
  • 手动配置SDK路径(可选)
    若自动下载失败,可手动下载对应版本的SDK Tools压缩包,解压后在buildozer.spec中指定路径:

    android.sdk_path = C:\path\to\your\sdk
    
  • 验证Java环境版本
    必须使用Java 8(OpenJDK或Oracle JDK均可),Java 11及以上版本与旧版SDK Tools存在兼容性问题,可通过以下命令检查当前版本:

    java -version
    

额外建议

  • 优先使用WSL2(Ubuntu发行版)进行Buildozer打包,Windows原生环境对Android SDK的路径解析、权限处理容易出现异常。
  • 不要同时混用Briefcase和Buildozer的打包环境,两者依赖的SDK版本、配置逻辑差异较大,专注单一工具可避免冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 22:22:16