培训首页  >  软件开发新闻  >  如何在命令行下使用NDK交叉编译工具

如何在命令行下使用NDK交叉编译工具

[2017-04-15 10:37:37] 浏览量:182 来源:

尚学堂

  在西安尚学堂进行学习的同学们经常会有很多技术方面的疑问,很多细节的问题恰恰是普遍存在的共性问题,那么就总结汇总分期与大家进行分享,希望对正在学习安卓开发的同学或者正在从事安卓开发相关工作的朋友有所帮助。

  我们知道,在Linux下可以使用gcc来把一份C代码编译成为Linux上的可执行程序,如:

  $ gcc -o main.out main.c

  而Android平台提供了NDK工具包来交叉编译可以运行于Android系统中的应用程序,它需要我们编写Android.mk来配置编译选项和编译目标,那么,能否也像gcc那样直接在命令行下编译呢?

  是可以的, NDK只不过是把这个过程封装和抽象了而已,我们完全可以直接调用NDK提供的编译工具链来编译我们的C代码,方法如下所示(在命令行界面中执行):

  1. 定义相关的目录(请修改为自己的相关目录)

  $ export NDKROOT=/opt/android/android-ndk-r10

  $ export SYSROOT=$NDKROOT/platforms/android-19/arch-arm

  $ export GCC=$NDKROOT/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc

  2. 编译代码

  $ $GCC -o main.out main.c --sysroot=$SYSROOT

  3. 执行程序

  $ adb push main.out /data/local/

  $ adb shell

  $ /data/local/main.out

  深圳尚学堂安卓培训指出其核心思想其实很简单,就是使用NDK提供的arm-linux-androideabi-gcc代替Linux下的gcc工具,使用NDK提供的C头文件/库文件目录代替Linux下默认的目录,其实,使用gcc编译的时候默认的sysroot设置为了本机的"/"目录,等价于如下命令:

  $ gcc -o main.out main.c --sysroot=/

  请联系网站,了解详细的课程信息~

  优质、便捷、省心


文中图片素材来源网络,如有侵权请联系删除
  • 软件开发
  • 软件测试
  • 数据库
  • Web前端
  • 大数据
  • 人工智能
  • 零基础
  • 有HTML基础
  • 有PHP基础
  • 有C语言基础
  • 有JAVA基础
  • 其他计算机语言基础
  • 周末班
  • 全日制白班
  • 随到随学

厚学推荐学校

网上报名

推荐学校

更多>>
热门信息

温馨提示