Android 下交叉编译使用(Android NDK 默认的交叉编译工具 )
2013-04-14 14:55
399 查看
Android 下交叉编译使用(Android NDK 默认的交叉编译工具 )
Android 提供了NDK编译工具,如果按照Android的文档描述编写 mk 文件,编译出库或者可执行程序这里不多做介绍
这里介绍如何使用 makefile 来编译
【交叉编译工具的生成】
1. 下载下 NDK (Android 官网有提供)
2. 生成交叉编译工具链
Windows下,设置一下环境,简单起见添加环境变量
在 D:\Cygwin\program\home\Administrator\.bash_profile 最后添加
NDKROOT=/cygdrive/e/ndk/android-ndk-r8d
export NDKROOT
ARMROOT=/cygdrive/e/ndk/android-ndk-r8d/stand/bin
export ARMROOT
在 cygwin 中
cd $NDKROOT/build/tools 里
$ ./make-standalone-toolchain.sh --platform=android-8 --ndk-dir=$NDKROOT
Auto-config: --toolchain=arm-linux-androideabi-4.6
Copying prebuilt binaries...
Copying sysroot headers and libraries...
Copying libstdc++ headers and libraries...
Creating package file: /tmp/ndk-Administrator/arm-linux-androideabi-4.6.tar.bz2 //红色的就是生成的j交叉编译工具链
Cleaning up...
Done.
等一会儿就会生成交叉编译工具,在/tmp 目录下 ***.gz
把交叉编译工具拷贝过来解压
【使用生成的编译工具编代码】
1. 编写测试代码 名称是 test.c 内容你可以简单写
2. 编写 makefile
APP=test
TOOLCHAIN_PREFIX :=$(ARMROOT)/arm-linux-androideabi-
CC=$(TOOLCHAIN_PREFIX)gcc
LD=$(TOOLCHAIN_PREFIX)ld
PROG=test
OBJS=test.o
$(PROG):$(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) # 注意这里需要自己用 Tab
%.o:%.c
$(CC) -c $(CFLAGS) $< -o $@ # 注意这里需要自己用 Tab
clean:
rm -rf *.o $(PROG) # 注意这里需要自己用 Tab
3. make 等待,奇迹发生, test生成。
我把用到的交叉编译工具放到 csdn的下载资源中去
http://download.csdn.net/detail/babyyang1213/5256837
Android 提供了NDK编译工具,如果按照Android的文档描述编写 mk 文件,编译出库或者可执行程序这里不多做介绍
这里介绍如何使用 makefile 来编译
【交叉编译工具的生成】
1. 下载下 NDK (Android 官网有提供)
2. 生成交叉编译工具链
Windows下,设置一下环境,简单起见添加环境变量
在 D:\Cygwin\program\home\Administrator\.bash_profile 最后添加
NDKROOT=/cygdrive/e/ndk/android-ndk-r8d
export NDKROOT
ARMROOT=/cygdrive/e/ndk/android-ndk-r8d/stand/bin
export ARMROOT
在 cygwin 中
cd $NDKROOT/build/tools 里
$ ./make-standalone-toolchain.sh --platform=android-8 --ndk-dir=$NDKROOT
Auto-config: --toolchain=arm-linux-androideabi-4.6
Copying prebuilt binaries...
Copying sysroot headers and libraries...
Copying libstdc++ headers and libraries...
Creating package file: /tmp/ndk-Administrator/arm-linux-androideabi-4.6.tar.bz2 //红色的就是生成的j交叉编译工具链
Cleaning up...
Done.
等一会儿就会生成交叉编译工具,在/tmp 目录下 ***.gz
把交叉编译工具拷贝过来解压
【使用生成的编译工具编代码】
1. 编写测试代码 名称是 test.c 内容你可以简单写
2. 编写 makefile
APP=test
TOOLCHAIN_PREFIX :=$(ARMROOT)/arm-linux-androideabi-
CC=$(TOOLCHAIN_PREFIX)gcc
LD=$(TOOLCHAIN_PREFIX)ld
PROG=test
OBJS=test.o
$(PROG):$(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) # 注意这里需要自己用 Tab
%.o:%.c
$(CC) -c $(CFLAGS) $< -o $@ # 注意这里需要自己用 Tab
clean:
rm -rf *.o $(PROG) # 注意这里需要自己用 Tab
3. make 等待,奇迹发生, test生成。
我把用到的交叉编译工具放到 csdn的下载资源中去
http://download.csdn.net/detail/babyyang1213/5256837
相关文章推荐
- Android逆向基础笔记—Android NDK开发3之使用ndk-build工具手动编译
- 使用 Android NDK 的交叉编译工具链移植 C/C++ 项目到安卓平台
- 使用 Android NDK 的交叉编译工具链移植 C/C++ 项目到安卓平台
- 使用 Android NDK Stand-alone 交叉编译工具
- 解读:在命令情况下使用Android NDK交叉编译工具
- 解读:在命令情况下使用Android NDK交叉编译工具
- 如何在命令行下使用Android NDK交叉编译工具
- Android反编译工具baksmali最新版的使用方法
- 在32位的Ubuntu 11.04中为Android NDK r6编译FFmpeg0.8.1版-Android中使用FFmpeg媒体库(一)
- Android反编译工具的使用-Android Killer
- 一套完整的ARM交叉编译环境的搭建过程——不使用现成的工具链
- 使用crosstool-0.43构建arm交叉编译工具链
- android--ndk交叉编译工具安装
- 64位Ubuntu 14.04上使用musleabi最小化交叉编译Android版PHP7
- eclipse--设置编译Android时使用的默认密钥
- 使用Android编译环境编译小工具
- 使用buildroot建立交叉编译工具
- 安卓学习笔记---Android反编译工具jadx的使用
- 使用crosstools-ng编译S3C6410的交叉编译工具链
- android APK反编译工具的使用及工具下载(mac)