解读:在命令情况下使用Android NDK交叉编译工具
来源:互联网 发布:大数据分析技术 编辑:程序博客网 时间:2024/06/17 00:58
我们知道,在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
- 解读:在命令情况下使用Android NDK交叉编译工具
- Android 下交叉编译使用(Android NDK 默认的交叉编译工具 )
- 使用 Android NDK Stand-alone 交叉编译工具
- android--ndk交叉编译工具安装
- android NDK提取toolchain(交叉编译工具)
- Android NDK自定义交叉编译工具链
- 在终端使用命令卸载交叉编译工具
- android NDK 交叉编译
- android NDK 交叉编译
- android NDK 交叉编译
- Android NDK 交叉编译
- android NDK 交叉编译
- android NDK 交叉编译
- android NDK 交叉编译
- Android NDK 交叉编译
- 使用 Android NDK 的交叉编译工具链移植 C/C++ 项目到安卓平台
- 使用 Android NDK 的交叉编译工具链移植 C/C++ 项目到安卓平台
- 终端使用命令卸载交叉编译工具
- QT5入门之24 -QT 容器
- django signal 拾遗
- Leetcode 199 Binary Tree Right Side View 二叉树右视图
- Java Collections.addAll() 与 ArrayList.addAll() 的区别
- 与幼儿的沟通
- 解读:在命令情况下使用Android NDK交叉编译工具
- 使用Objective-C的文档生成工具:appledoc
- dajngo.forms.widget-Media
- spring 文件上传
- Server2008R2:由于没有远程桌面授权服务器可以提供许可证,.....错误的解决
- MySQL Replication, 主从和双主配置
- SQL中round()函数、Ucase()、Lcase()、as的用法
- 键盘遮挡
- 纯JS+MVC 打造Web实时聊天室