泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:http://tinylab.org
本站首次开课,25 号全部上线,加薪升职走起!
请稍侯

[ 点 我 解 锁 ]

加微信 tinylab 可申请进 Linux 技术微信群。

扫码关注 泰晓科技 并发送 ,一天后即可 永久解锁

(手机浏览时,先截图发往微信,再扫码)

Install ARM toolchain from Android NDK

Wu Zhangjin 创作于 2013/11/25

by falcon wuzhangjin@gmail.com of TinyLab.org 2013/11/24

Introduction

Android NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++, itincludes a set of cross-toolchains (compilers, linkers, etc..) that can generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms, here shows how to export this toolchain and use it standalonely.

Download Android NDK

At the time of this writing, the latest NDK version is r9b, download it:

$ wget -c http://dl.google.com/android/ndk/android-ndk-r9b-linux-`uname -m`.tar.bz2

Create Standalone Toolchain

Under android-ndk-r9b/toolchains/, all supported toolchains are listed. Here, for example, we install arm-linux-androideabi-4.7 into /opt/android-ndk-toolchain for Android 4.2.1:

$ sudo android-ndk-r9b/build/tools/make-standalone-toolchain.sh --platform=android-17 --system=linux-`uname -m` --toolchain=arm-linux-androideabi-4.7 --install-dir=/opt/android-ndk-toolchain/
$ sudo echo "export PATH=\$PATH:/opt/android-ndk-toolchain/bin" >> ~/.bashrc
$ source ~/.bashrc

Build Busybox with Android ARM Toolchain

Busybox is a very useful toolset, it includes lots of tiny Unix utilities and it’s more powerful than the Android toolbox, let’s compile it for Android.

$ wget -c http://www.busybox.net/downloads/busybox-1.21.1.tar.bz2
$ tar jxf busybox-1.21.1.tar.bz2 && cd busybox-1.21.1
$ make android2_defconfig
$ sed -i -e "s/CONFIG_UDHCPC=y/# CONFIG_UDHCPC is not set/g" .config
$ make -j10
$ file busybox
busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped

The above sed command disable the udhcpc support to workaround the compiling failure. The above Busybox binary is able to be used on Android system directly, to learn more about Busybox using on Android system, the book: Optimizing Embedded Systems using BusyBox is recommended.


广而告之:本站首次开发的 Linux C 语言进阶课将于 25 号全部上线,加薪升职必备!

Read Related:

Read Latest: