自從第一次用NDK時寫了拒絕ndk-build,過了兩年了,也沒有看到本身想要的工具,忍不了了,就想着有時間時寫一個,就是寫bash而已,不過我對bash不熟,磕磕碰碰花了很多時間,汗。(2016/09/08: 作了個Docker image,在Windows上能夠經過Docker-Toolbox來用了,詳細看最後。2016/09/22:支持Windows,可是得用MINGW,例如Git Bash)node
就是這個 https://github.com/sjitech/android-gcc-toolchain 了。linux
想要的功能就是摘要裏的那些,貼幾個圖估計就明白了,就不重複翻譯了。android
###實測git
測試了ffmpeg和nodejs,前者是autoconf的變形,後者是chromium的gyp build,github
ffmpeg什麼也不須要準備了,什麼standard toolchain生成,什麼PATH,CC這類的設定都不用搞了,把configure,make命令放在android-gcc-toolchain
裏執行就好了。例如:docker
android-gcc-toolchain <<< "./configure --enable-cross-compile --target-os=linux --arch=arm $OTHER_OPTIONS && make"
哦,這裏假設windows
OTHER_OPTIONS="--disable-everything --disable-doc --enable-protocol=pipe --enable-filter=scale --enable-filter=crop --enable-filter=transpose --enable-demuxer=rawvideo --enable-decoder=rawvideo --enable-muxer=image2 --enable-muxer=image2pipe --enable-muxer=mjpeg --enable-encoder=mjpeg --enable-encoder=png"
而NodeJS的編譯,具體的看[NodeJS for Android]完美編譯大全緩存
2016/09/06: 支持ccache這個編譯緩存工具了,重複編譯時速度快了不少。選項--ccache,兩個c。bash
2016/09/08: 作了個Docker image,在Windows上能夠經過Docker-Toolbox來用了。ide
$ docker run -it osexp2000/android-gcc-toolchain arm64 [android-21-arm64] ./configure ...