Android深度探索(卷1):安装C/C++交叉编译环境
为了使用方便,建议读者将如下路径加到PATH环境变量中。
/root/compilers/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin
下面编写一个简单的C程序来测试一下这个交叉编译环境。
// first.c
#include <stdio.h>
int main()
{
printf("first arm program\n");
return 0;
}
输入下面的命令编译first.c文件(需要加-static选项)。
# arm-none-linux-gnueabi-gcc -static -o first first.c
输入下面的命令将first文件上传到任意的Android设备的/data/local目录中(没有root权限也可以)。
# adb push first /data/local
使用adb shell命令进入Android设备的控制台,并进入/data/local目录,执行如下的命令
# ./first
执行上面的命令就会输出“first arm program”信息。first程序在X86架构上运行的Ubuntu Linux中是无法运行的。读者可以试着在Ubuntu Linux中运行first程序,看看会发生什么。
注意:在安装Code Sourcery的过程中会在/lib目录寻找一个libc.so.6库文件,但在Ubuntu Linux11.04及以上版本/lib目录已经没有libc.so.6库文件了。这个库文件被放在了其他的目录。在32位的Ubuntu Linux中该文件的路径是/lib/i386-linux-gnu/libc.so.6,在64位的Ubuntu Linux中该文件的路径是/lib/x86_64-linux-gnu/libc.so.6。在安装Code Sourcery之前可以使用ln命令为libc.so.6文件在/lib目录建立一个链接。
补充:移动开发 , Android ,