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  


更多相关文章

  1. Android防止内存溢出浅析/应用自动更新功能的代码实现
  2. android待机详细结合代码分析(二)
  3. android与linux内核对比--《Android系统源代码情景分析》试读
  4. 安裝 Android 開發工具
  5. android切换输入法工具类
  6. pandaboard ES学习之旅——5 Android Linux内核源代码下载与编译

随机推荐

  1. Android中回调下载事件处理实现步骤
  2. Android边框背景
  3. 全屏
  4. Android Studio 1.2中配置androidannotat
  5. Android Material Design之CoordinatorLa
  6. Android之蓝牙设备使用
  7. 安卓课程二十一 SeekBar拖动控件的使用
  8. Android 获取包名,版本信息
  9. Android attrs文件(自定义)属性详解
  10. android中的spinner动态加载内容