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),正式版还要等一阵子。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值