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

使用Buildozer构建KivyMD 2.0应用部署时因架构不兼容崩溃

解决Buildozer构建KivyMD 2.0应用在ARM64设备上崩溃的问题

问题场景

使用Buildozer构建基于KivyMD 2.0的应用,buildozer.spec中的依赖配置如下:

requirements = python3,kivy,exceptiongroup,asyncgui,asynckivy,fuzzywuzzy,python-Levenshtein,materialyoucolor,PIL,pytesseract,packaging,plyer,https://github.com/kivymd/KivyMD/archive/master.zip

应用编译过程无异常,但部署到设备后直接崩溃,报错信息如下:

ImportError: dlopen failed: "/data/data/org.test.myapp/files/app/_python_bundle/site-packages/materialyoucolor/quantize/celebi.so" is for EM_X86_64 (62) instead of EM_AARCH64 (183)

注:使用KivyMD 1.2版本时应用可正常运行

问题原因

报错核心是架构不匹配:celebi.so库文件是为x86_64架构编译的,而运行应用的设备采用ARM64(AARCH64)架构,系统无法加载与自身架构不兼容的二进制库,导致应用崩溃。

解决方案

  • 适配materialyoucolor的ARM64版本:
    检查materialyoucolor包的官方资源,确认是否有针对ARM64架构的预编译版本;若没有预编译包,可改用源码安装方式,让Buildozer在编译阶段针对目标设备架构重新编译该库的二进制文件。
  • 指定Buildozer目标架构:
    在buildozer.spec中明确设置目标架构为ARM64,添加或修改配置项:
    arch = arm64-v8a
    
    强制Buildozer为指定架构编译所有依赖,避免拉取通用或其他架构的预编译库。
  • 临时替代方案:
    如果暂时无法获取适配ARM64的materialyoucolor版本,可尝试移除该依赖,改用其他支持ARM64的颜色处理库,保证应用基础功能正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 01:13:12