Unknown host CPU architecture: arm64
Posted 皓煙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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),正式版还要等一阵子。
以上是关于Unknown host CPU architecture: arm64的主要内容,如果未能解决你的问题,请参考以下文章
Unknown host CPU architecture: arm64