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

将Kivy项目导出为APK时遭遇pyjnius编译错误求助

Kivy应用Buildozer打包APK编译错误解决

问题概况

在Debian 12、Ubuntu 20.04系统下,用Python 3.8.10 + Buildozer 1.5.0执行buildozer -v android debug打包Kivy应用时,先后出现两个关键错误:

  • 初始报错:找不到jnius/jnius.c文件
  • Cython处理后:出现Py_REFCNT表达式不可赋值等12个编译错误

可行解决步骤

1. 指定兼容的jnius版本

Buildozer 1.5.0默认依赖的jnius版本和Python 3.8存在兼容性问题,直接在buildozer.spec文件里锁定适配版本:

requirements = python3,kivy,jnius==1.4.2

2. 匹配Cython版本

Python 3.8对Cython版本有特定要求,先在本地环境更新,同时在spec中指定:

pip install cython==0.29.36

然后修改buildozer.spec的requirements:

requirements = python3,kivy,jnius==1.4.2,cython==0.29.36

3. 清理缓存后重新构建

之前的构建缓存可能残留错误文件,执行清理命令后重新打包:

buildozer android clean
buildozer -v android debug

4. 补全系统编译依赖

确保Debian/Ubuntu系统安装了所有必要的编译工具:

sudo apt-get update
sudo apt-get install -y build-essential git python3 python3-pip python3-dev openjdk-11-jdk unzip zlib1g-dev

内容的提问来源于stack exchange,提问作者A.b.Ramazani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:49:53