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(安卓)Makefile分析
  2. Android内核的编译过程
  3. Mac下配置Android(安卓)NDK环境并搭建Cocos2d-x环境并Eclipse正
  4. Android虚拟平台的编译和整合
  5. Android的交叉编译工具
  6. 安裝 Android(安卓)開發工具
  7. android的makefile分析
  8. Android(安卓)Makefile分析
  9. android 系统结构

随机推荐

  1. Android: android自适应屏幕方向和大小
  2. Android屏幕方向的改变
  3. Android应用程序内存优化
  4. Android中的基础----在按钮上显示图像的
  5. android之首选项相关 Preferences(二)组织
  6. Android Volley框架使用方法详解
  7. Android RetainFragment状态保存的方法
  8. TabLayout+ViewPager实现Android底部滑动
  9. android 8.1 Not allowed to start servi
  10. Android WakeLock解析