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

使用Kivy构建的APK启动报错:mediapipe相关ImportError问题求助

问题原因

错误提示中的*EM_X86_64*表明你打包的MediaPipe库是x86_64架构的二进制文件,但你的Nokia 6搭载的是ARM架构处理器(骁龙430支持armeabi-v7a/arm64-v8a),Android系统无法加载与设备架构不匹配的动态链接库(.so文件),导致启动失败。其他Kivy应用正常是因为它们的依赖没有架构专属的二进制文件,或自动适配了设备架构。

解决方案

1. 修改Buildozer.spec配置,指定目标ARM架构

打开你的buildozer.spec文件,添加或修改以下配置项,确保只构建ARM架构的安装包:

# 指定Android目标架构,适配Nokia 6的arm架构
android.arch = armeabi-v7a, arm64-v8a

2. 清理旧构建缓存

删除项目目录下的.buildozer文件夹,避免残留之前x86架构的编译产物:

rm -rf .buildozer

3. 重新构建APK

使用buildozer的清理构建命令,确保重新针对ARM架构编译所有依赖:

buildozer android debug deploy run --android-clean

4. 额外适配建议

  • 确保buildozer.spec中的requirements写法准确,避免直接引入预编译的x86版本依赖:
    Requirements: python3,kivy,kivymd,mediapipe,numpy,opencv-python
    
  • 若仍有兼容性问题,可尝试指定MediaPipe的稳定兼容版本(如0.8.9.1,该版本对Android交叉编译支持较好):
    Requirements: python3,kivy,kivymd,mediapipe==0.8.9.1,numpy,opencv-python
    
验证

重新构建完成后,将APK安装到Nokia 6上,启动应用即可正常加载MediaPipe库并运行手势识别功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:21:13