前几天帮忙师兄发现的Android上的一个驱动程序漏洞,奈何技术不够耐心不足,没有找到漏洞的根源。由于程序要由c程序来触发,而c程序是在pc上的开发的,要在Android设备上运行,这就涉及到交叉编译问题。一开始找了好久,想找一个交叉编译工具,想来也是SB,Android不是为我们提供了NDK开发环境么,而且我还学了一段时间,可惜后面没有用,也没有总结,就忘记了。其实,NDK除了为了Native层的开发,还为了我们提供了强大的交叉编译环境。虽然学习过程中Google了n多次,这里的主要参考资料还是官网:standalone toolchain.
在$NDK/toolchains目录下集成了很多交叉编译工具,我的目录是:F:\adt-bundle-windows-x86_64-20140702\NDK\android-ndk-r10e\toolchains;这里主要是用的ARM架构的交叉编译工具。使用的工具根据手机的CPU架构决定。至于怎么使用没什么好说的,直接参考官方文档就好了,这里记录下我纠结了好久的2B错误,以免下载重犯。
按照官方的教程,我的编译命令为:

本文介绍了作者在交叉编译Android驱动程序时遇到的问题及解决过程,重点是利用NDK提供的交叉编译环境。在NDK的toolchains目录下选择适合的交叉编译工具,通过命令行编译时遇到缺少-pie选项导致的问题,最终通过添加该选项成功编译出可执行程序。

387

被折叠的 条评论
为什么被折叠?



