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

Buildozer打包TensorFlow Lite+Kivy安卓项目时pyjnius补丁应用失败报错

问题根因

这个报错是补丁适配冲突导致:你使用的python-for-android构建工具自带的pyjnius补丁,和当前拉取的pyjnius版本代码不匹配。你运行的项目是较早的开源项目,提供的buildozer配置没有锁定依赖版本,新版pyjnius的jnius/jnius_jvm_android.pxi、jnius/env.py两个文件的内容、行号都和补丁预期的旧版本不一致,patch命令无法匹配到对应代码段,因此抛出补丁应用失败的错误。

解决方法
  • 方案1:锁定依赖版本(最稳妥)
    打开项目根目录的buildozer.spec文件,找到依赖配置段,指定对应组件的兼容版本:
    1. 锁定python-for-android版本为2022.12.20
    2. 锁定pyjnius版本为1.4.1,Kivy版本锁定为2.1.0
      修改完成后执行rm -rf .buildozer删除旧构建缓存,再重新执行打包命令即可。
  • 方案2:移除冲突补丁(临时适配)
    找到报错中提到的补丁文件.buildozer/android/platform/python-for-android/pythonforandroid/recipes/pyjnius/sdl2_jnienv_getter.patch,直接删除该补丁文件,之后重新执行构建。如果后续运行出现JNI接口调用报错,再手动把补丁的修改内容合并到对应pyjnius源码文件中即可。
  • 方案3:使用项目原始构建环境
    查看项目提交历史中可成功构建的记录,按照对应记录里的依赖版本号逐一配置到buildozer.spec中,即可完全适配原项目的构建逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:36:05