NDK中找不到arm-linux-androideabi-gcc的解决办法

最近在研究Android上的Hook和Inject。在研究这篇文章的时候,提到了交叉编译,使用了arm-linux-androideabi-gcc,但是文章中没有提到这个工具在NDK中的位置。

Google一下,发现大多数页面中提到了$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin这个位置。但是我居然没有在这个位置发现arm-linux-androideabi-gcc。

所以我们需要亲自重新安装一个工具链。官方页面中已经告诉我们该怎么做。主要代码如下:

$NDK/build/tools/make_standalone_toolchain.py --arch arm --api 21 --install-dir /tmp/my-android-toolchain

其中/tmp/my-android-toolchain目录可以自定义,比如我的是~/Downloads/my-android-toolchain$NDK需要替换成自己的NDK目录。

运行该命令后过一会就会在/tmp/my-android-toolchain下生成bin目录,其中就有了arm-linux-androideabi-gcc,还有在NDK中缺失的arm-linux-androideabi-clang、arm-linux-androideabi-clang++arm-linux-androideabi-g++也都有了。

评论

此博客中的热门博文

一篇文章读懂Tor原理

macOS 10.15系统上用VMWare Fusion 11.5虚拟机安装Ubuntu 20.04系统步骤

用Ubuntu 20.04编译Linux内核