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

Buildozer构建的APK崩溃:psutil架构不兼容问题排查

解决APK因psutil架构不匹配导致的崩溃问题

问题根源

日志明确显示导入错误:

ImportError: dlopen failed: "/data/data/org.test.mykivymdapp/files/app/_python_bundle/site-packages/psutil/_psutil_linux.so" is for EM_X86_64 (62) instead of EM_AARCH64 (183)

psutil的底层编译文件_psutil_linux.so是X86_64架构,而运行设备是AARCH64(ARM64)架构,架构不兼容导致应用启动时崩溃。

解决方案

  • 清理构建缓存
    执行命令清除Buildozer之前生成的缓存文件,避免残留不兼容的编译产物:

    buildozer android clean
    
  • 指定目标架构
    在项目的buildozer.spec配置文件中,修改android.arch项,明确指定适配ARM设备的架构:

    android.arch = arm64-v8a, armeabi-v7a
    

    该配置会让Buildozer只编译对应ARM架构的依赖库,避免混入X86_64版本。

  • 重新构建APK
    执行完整的构建命令,让Buildozer重新从源码编译所有依赖(包括psutil),生成适配目标架构的APK:

    buildozer android debug deploy run
    
  • 确保依赖适配Android
    若本地虚拟环境中安装了桌面版psutil,先卸载:

    pip uninstall psutil
    

    让Buildozer在构建过程中自动下载并编译适配Android平台的psutil版本,而非使用本地桌面版的wheel包。


用户原始信息

依赖配置

requirements = python3,kivy,kivymd,psutil,speedtest,pillow

导入代码

import datetime
import threading
import random
from time import sleep
import psutil
import speedtest
from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.screenmanager import ScreenManager, Screen
from get_size import get_size
from get_size_bits import get_size_bits
# from matplotlib import pyplot as plt
from kivymd.uix.list import OneLineListItem,ThreeLineListItem,MDList

ADB日志

08-11 18:28:41.021 25786 25832 I python  : Initializing Python for Android
08-11 18:28:41.021 25786 25832 I python  : Setting additional env vars from p4a_env_vars.txt
08-11 18:28:41.022 25786 25832 I python  : Changing directory to the one provided by 
ANDROID_ARGUMENT
08-11 18:28:41.022 25786 25832 I python  : /data/user/0/org.test.mykivymdapp/files/app
08-11 18:28:41.022 25786 25832 I python  : Preparing to initialize python
08-11 18:28:41.022 25786 25832 I python  : _python_bundle dir exists
08-11 18:28:41.022 25786 25832 I python  : calculated paths to be...
08-11 18:28:41.022 25786 25832 I python  : /data/user/0/org.test.mykivymdapp/files/app/_python_bundle/stdlib.zip:/data/user/0/org.test.mykivymdapp/files/app/_python_bundle/modules
08-11 18:28:41.025 25786 25832 I python  : set wchar paths...
08-11 18:28:41.122 25786 25832 I python  : Initialized python
08-11 18:28:41.123 25786 25832 I python  : AND: Init threads
08-11 18:28:41.124 25786 25832 I python  : testing python print redirection
08-11 18:28:41.127 25786 25832 I python  : Android path ['.', 
'/data/user/0/org.test.mykivymdapp/files/app/_python_bundle/stdlib.zip', 
  '/data/user/0/org.test.mykivymdapp/files/app/_python_bundle/modules', 
'/data/user/0/org.test.mykivymdapp/files/app/_python_bundle/site-packages']
08-11 18:28:41.130 25786 25832 I python  : os.environ is environ({'PATH':'/sbin:/system/sbin:/product/bin:/apex/com.android.runtime/bin:/system/bin:/system/xbin:/odm/bin:/ 
vendor/bin:/vendor/xbin', 'MOUNT_SYSTEM_OK': 'true', 'ANDROID_BOOTLOGO': '1', 'ANDROID_ROOT': 
'/system', 'ANDROID_ASSETS': '/system/app', 'ANDROID_DATA': '/data', 'ANDROID_STORAGE': 
'/storage', 'ANDROID_RUNTIME_ROOT': '/apex/com.android.runtime', 'ANDROID_TZDATA_ROOT': 
'/apex/com.android.tzdata', 'EXTERNAL_STORAGE': '/sdcard', 'ASEC_MOUNTPOINT': '/mnt/asec', 
'BOOTCLASSPATH': '/apex/com.android.runtime/javalib/core- 
oj.jar:/apex/com.android.runtime/javalib/core-libart.jar:/apex/com.android.runtime/javalib/okhttp.jar:/apex/com.android.runtime/javalib/bouncycastle.jar:/apex/com.android.runtime/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/knoxsdk.jar:/system/framework/knoxanalyticssdk.jar:/system/framework/smartbondingservice.jar:/system/framework/securetimersdk.jar:/system/framework/fipstimakeystore.jar:/system/framework/timakeystore.jar:/system/framework/sec_sdp_sdk.jar:/system/framework/sec_sdp_hidden_sdk.jar:/system/framework/drutils.jar:/system/framework/android.test.base.jar:/system/framework/ucmopensslenginehelper.jar:/system/framework/esecomm.jar:/apex/com.android.conscrypt/javalib/conscrypt.jar:/apex/com.android.media/javalib/updatable-media.jar', 'DEX2OATBOOTCLASSPATH': '/apex/com.android.runtime/javalib/core-oj.jar:/apex/com.android.runtime/javalib/core-libart.jar:/apex/com.android.runtime/javalib/okhttp.jar:/apex/com.android.runtime/javalib/bouncycastle.jar:/apex/com.android.runtime/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/knoxsdk.jar:/system/framework/knoxanalyticssdk.jar:/system/framework/smartbondingservice.jar:/system/framework/securetimersdk.jar:/system/framework/fipstimakeystore.jar:/system/framework/timakeystore.jar:/system/framework/sec_sdp_sdk.jar:/system/framework/sec_sdp_hidden_sdk.jar:/system/framework/drutils.jar:/system/framework/android.test.base.jar:/system/framework/ucmopensslenginehelper.jar:/system/framework/esecomm.jar', 'SYSTEMSERVERCLASSPATH': '/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar:/system/framework/com.android.location.provider.jar:/system/framework/uibc_java.jar:/system/framework/ssrm.jar', 'DOWNLOAD_CACHE': '/data/cache', 'SECONDARY_STORAGE': '/storage/sdcard:/storage/usb1:/storage/usb2', 'MC_AUTH_TOKEN_PATH': '/efs', 'KNOX_STORAGE': '/data/knox/ext_sdcard', 'ENC_EMULATED_STORAGE_TARGET': '/storage/enc_emulated', 'ANDROID_SOCKET_zygote': '15', 'ANDROID_SOCKET_usap_pool_primary': '16', 'ANDROID_ENTRYPOINT': 'main.pyc', 'ANDROID_ARGUMENT': '/data/user/0/org.test.mykivymdapp/files/app', 'ANDROID_APP_PATH': '/data/user/0/org.test.mykivymdapp/files/app', 'ANDROID_PRIVATE': '/data/user/0/org.test.mykivymdapp/files', 'ANDROID_UNPACK': '/data/user/0/org.test.mykivymdapp/files/app', 'PYTHONHOME': '/data/user/0/org.test.mykivymdapp/files/app', 'PYTHONPATH': '/data/user/0/org.test.mykivymdapp/files/app:/data/user/0/org.test.mykivymdapp/files/app/lib', 'PYTHONOPTIMIZE': '2', 'P4A_BOOTSTRAP': 'SDL2', 'PYTHON_NAME': 'python', 'P4A_IS_WINDOWED': 'True', 'P4A_ORIENTATION': 'portrait', 'P4A_NUMERIC_VERSION': 'None', 'P4A_MINSDK': '21', 'LC_CTYPE': 'C.UTF-8'})
08-11 18:28:41.130 25786 25832 I python  : Android kivy bootstrap done. __name__ is __main__
08-11 18:28:41.130 25786 25832 I python  : AND: Ran string
08-11 18:28:41.130 25786 25832 I python  : Run user program, change dir and execute entrypoint
08-11 18:28:41.376 25786 25832 I python  : Traceback (most recent call last):
08-11 18:28:41.377 25786 25832 I python  :   File "/content/.buildozer/android/app/main.py", line 5, in <module>
08-11 18:28:41.377 25786 25832 I python  :   File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/mykivymdapp/arm64-v8a/psutil/__init__.py", line 102, in <module>
08-11 18:28:41.377 25786 25832 I python  :   File "/content/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/mykivymdapp/arm64-v8a/psutil/_pslinux.py", line 26, in <module>
08-11 18:28:41.377 25786 25832 I python  : ImportError: dlopen failed: "/data/data/org.test.mykivymdapp/files/app/_python_bundle/site-packages/psutil/_psutil_linux.so" is for EM_X86_64 (62) instead of EM_AARCH64 (183)
08-11 18:28:41.377 25786 25832 I python  : Python for android ended.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:24:26