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

unknown host问题怎么解决

ping unknown host解决办法

ping: unknown host解决办法

Linux不能上网ping:unknown host问题怎么解决?

adb unknown host service