ERROR: Unknown host CPU architecture: arm64

Mac M1跑ndk-build(ndk版本23)命令,出现了CPU不兼容错误:

ERROR: Unknown host CPU architecture: arm64

从ndk官方issue《ndk-build 脚本中的 M1 支持 #1410》找到的解决方案《Unknown host CPU architecture: arm64 , Android NDK SiliconM1 Apple MacBook Pro》 ——>

Finder -> Go To Folder(/Users/mac/Library/Android/sdk/ndk/21.4.7075529) -> now edit ndk-build open it in text editor and paste below code script and re-run your project.

from

#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
$DIR/build/ndk-build "$@"

to

#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
arch -x86_64 /bin/bash $DIR/build/ndk-build "$@"

上述方案是原文搬运。简译:编辑ndk目录下ndk-build文件内容,在$DIR/build/ndk-build "$@"前增加一句arch -x86_64 /bin/bash,以支持Mac M1。

关于Mac M1支持情况

翻了各种官方issue和更新日志,官方在ndk23版本为Mac M1增加使用通用二进制文件支持(Now uses universal binaries for M1 Macs,详见Changelog-r23);在ndk24版本为其增加了一些额外支持(Additional Apple M1 support,详见Changelog-r24)。

结合issue大概总结一下,ndk23仅提供了部分支持,坑很多,ndk24支持得比较完好了,但仍然有些bug待修复。

所以,建议Mac M1的同学==尽量基于ndk24==开发吧,可惜目前还在beta中(最新版,24.0.7956693-beta2,详见 Ndk Wiki),正式版还要等一阵子。

© 版权声明
THE END
喜欢就支持以下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片