这个其实就是个人的一个小小的兴趣,用C/C++写一个小程序放在Android的系统中,然后用Java写一个Android的UI程序来调用这个C/C++的程序。这里总结了实现这个功能的一些步骤和遇到的问题。蛮有意思的。
这里参考了下面两篇博文,主要是关于搭建arm-linux-gcc交叉编译环境的,非常有帮助,感谢他们的分享。
http://blog.csdn.net/super005/article/details/6369577
http://mawenhao19930620.blog.163.com/blog/static/128575361201212211291763/
http://www.cnblogs.com/huaping-audio/archive/2009/08/27/1555089.html
这里主要分四步:
1)搭建一个交叉编译环境,这里用的是Ubuntu的虚拟机来编译出一个可以在Android系统上运行的二进制文件;
2) 写一个 hello.c 的测试用的C程序 ,并且把它编译成可执行文件;
3)把可执行文件上传到Android系统中,及一些注意事项。
4)写一个Java的UI程序来调用这个测试的C程序。
第一步 搭建坏境
主要参考了上面两个链接中的文章,简单而非常有帮助。
这里需要交叉编译的主要原因是Android系统源于Linux但不同于Linux,Linux上的程序无法直接在Android上运行。需要重新编译才行。Android设备主要基于 ARM的,在PC上的程序基于的X86的结构,这也导致了Linux下的程序必须重新编译才能在Android下运行。
在两篇文章中都提到了使用一个编译工具
arm-none-linux-gnueabi