在编译基于Android.mk构建的android ndk项目时发现,在m1的macbook pro上会出现如下错误
ERROR: Unknown host CPU architecture: arm64
需要修改ndk根目录下的ndk-build文件 (推测原因是m1属于arm架构)
#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
$DIR/build/ndk-build "$@"
改为
#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
arch -x86_64 /bin/bash $DIR/build/ndk-build "$@"
本来故事到这里就应该结束的,奈何我是一个动手能力比较强的人,对于复制粘贴不是很擅长,但是独爱徒手敲代码,结果就敲漏了最后的 "$@",所以有了很多很奇怪的路径不对的问题,类似下图:
在我不知道原因的时候,我尝试过如下无效操作:
- 重启android studio
- 重启电脑
- clean
- refresh linked c++ projects
- 把所有Android.mk中LOCAL_PATH := $(call my-dir),LOCAL_PATH全部被我命名为了不同的名字,比方说A模块中的LOCAL_PATH就变成了A_PATH,这个改动花费了我大量的时间,并且产生了让我越来越无法理解的结果,那就是确实达到了修复问题的效果。但是当我把所有的LOCAL_PATH改完后就发现LOCAL_SRC_FILES这个内置变量的值也变成了这种我无法理解的样子,这就没办法处理了,所以我只能放弃这条路。
- 升级了电脑系统到12.4