树莓派执行buildozer -v android debug时遇OSError: [Errno 8]执行格式错误
问题原因与解决方法
原因
这个错误既不是你的操作导致的,也不是aidl本身有问题,核心是架构不兼容:树莓派是ARM架构,而你下载的Android Build Tools 34.0.0-rc3里的aidl是x86/x86_64架构的二进制文件,ARM设备无法直接运行x86架构的可执行文件,所以抛出了执行格式错误。
解决方法
有两种可行方案:
方案一:安装ARM兼容的Android Build Tools版本
- 打开项目根目录下的
buildozer.spec配置文件 - 找到
android.buildtools_version这一行,将其修改为支持ARM架构的版本,比如android.buildtools_version = 33.0.2(该版本提供了ARM64架构的aidl可执行文件) - 删除旧的不兼容Build Tools目录:
rm -rf /home/x/.buildozer/android/platform/android-sdk/build-tools/34.0.0-rc3 - 重新执行
buildozer -v android debug,buildozer会自动下载对应ARM版本的Build Tools
方案二:用QEMU模拟x86架构运行aidl
如果你不想更换Build Tools版本,可以通过QEMU模拟x86环境来运行x86架构的aidl:
- 安装QEMU用户态静态二进制文件:
sudo apt-get update && sudo apt-get install qemu-user-static - 直接重新执行
buildozer -v android debug,系统会自动通过QEMU模拟运行aidl
内容的提问来源于stack exchange,提问作者michel duturfu
相关产品推荐
相关产品推荐

