恭喜你成为UI中国推荐设计师 (详情)
//百度统计 20220402 uicn

您的意见是我们 UI 中国进步的动力!
点击立即反馈按钮,发表您的意见!
立即反馈
QQ群反馈
您也可以加入UI中国官方反馈群进行反馈!
群号:302892100
备注:反馈问题后@管理员能让我们及时了解您的意见

提交需求

赛事与广告咨询合作,请填写需求表单,我们会在第一时间与您联系!

0/20
0/200

设计大赛

  • 设计大赛
  • 发布广告
  • 发布招聘
  • 其它需求

提交完成
感谢您对UI中国的支持和信赖!
解读:在命令情况下使用Android NDK交叉编译工具
0.0°
2015-10-29 好文转载 教程 原作者: 原作者 举报 1007 4 2 1

解读:在命令情况下使用Android NDK交叉编译工具

 我们知道,在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=/



友情推荐:爱加密 Android病毒或将渗透Linux内核驱动层  http://www.ijiami.cn/newsInfo?id=207





更新:2015-10-29

收藏

4人已收藏

专业设计师

我所分享的正是你所需要的。。

  • 27

    作品

  • 32

    粉丝

  • 1

    关注

  • 包体可压缩80%!爱加密手游压缩和云更新简直颠覆!
  • 分享:Android Studio 导入第三方jar包
  • 详解:Android嵌套滑动机制 (NestedScrolling)
  • apk分享: Android应用更换皮肤功能的实现思路教程。
相关标签
游戏界面

    猜你喜欢

      2015-10-29 好文转载 教程 原作者: 原作者 举报 1007 4 2 1

      解读:在命令情况下使用Android NDK交叉编译工具

      0.0°

      你确定要举报解读:在命令情况下使用Android NDK交叉编译工具

      如果查出恶意举报,十天内禁止提交任何举报申请。

      0/200

      上传证据: 超过10M的附件请使用网盘地址

      点击上传附件

      对谁可见:

      全部设计师
      • 全部设计师
      • 推荐设计师和认证设计师

      您确认要推荐?

      该作品发布时间:2015年10月29日

      评分

      完整度

      启发性

      勤奋性

      排版布局

      推荐心得

      建议20-200字以内

      0/200

      2
      4
      1

      账号或密码错误,请重新输入

      账号或密码错误,请重新输入

      登录

      手机号

      发送验证码 120s 验证码错误

      登录
      第三方账号登录