You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux arm64环境NDK编译Android项目报aarch64架构错误求助

解决Linux arm64环境下NDK 25编译报错"Unknown host CPU architecture: aarch64"

问题根源

NDK 25的构建脚本未正确识别Linux arm64主机的aarch64架构标识,导致无法匹配对应的编译工具链;你之前尝试的arch -arm64是macOS专属命令,Linux环境不支持,所以无效。

可行解决方案

方案1:修改NDK架构检测脚本

找到NDK安装目录下的build/core/setup.mk文件,定位到Linux主机架构判断的代码段:

ifeq ($(HOST_OS),linux)
    ifeq ($(HOST_ARCH),x86_64)
        HOST_TAG := linux-x86_64
    else ifeq ($(HOST_ARCH),x86)
        HOST_TAG := linux-x86
    endif
endif

添加对aarch64的识别逻辑:

ifeq ($(HOST_OS),linux)
    ifeq ($(HOST_ARCH),x86_64)
        HOST_TAG := linux-x86_64
    else ifeq ($(HOST_ARCH),x86)
        HOST_TAG := linux-x86
    else ifeq ($(HOST_ARCH),aarch64)
        HOST_TAG := linux-arm64
    endif
endif

保存后重新执行编译即可。

方案2:通过环境变量强制指定HOST_TAG

无需修改脚本,直接在执行编译前设置环境变量:

export HOST_TAG=linux-arm64
ndk-build

如果是在Android Studio中构建,可在模块的build.gradle中配置:

android {
    externalNativeBuild {
        ndkBuild {
            path "src/main/jni/Android.mk"
            arguments "HOST_TAG=linux-arm64"
        }
    }
}

方案3:升级NDK版本

NDK 26及以上版本已完善对Linux arm64主机的支持,直接将项目的ndkVersion升级到最新稳定版即可,例如:

android {
    ndkVersion "26.1.10909125"
}

升级后无需任何额外修改,编译逻辑会自动适配Linux arm64环境。

内容的提问来源于stack exchange,提问作者Oleksandr Shurdak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 02:13:16