环境:
windows xp+vmware+redhat(ubuntu)
说明:本篇所述环境也是Android原生(Native)C(JNI)开发的环境
1,先下载个交叉编译工具链版本
http://www.codesourcery.com/sgpp/lite/arm/portal/subscription3057 选择最新版本进入下载页面后,选择Advanced Packages的IA32 GNU/Linux TAR下载后文件名为arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
2,上传到/usr/local/后解压tar jxvf arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 到一个arm-2010.09
3,测试,进入到/usr/local/arm-2010.09/bin目录下,创建一个main.c文件,
main.c内容
#include <stdio.h>
int main()
{
int i=0;
printf("%d\n",i);
return;
}
执行./arm-none-linux-gnueabi-gcc main.c
无报错,生成a.out文件
执行 ./arm-none-linux-gnueabi-gcc -v
显示版本信息 4.5.1
可以啦
修改/etc/profile文件的PATH,将当前目录/usr/local/arm-2010.09-50/bin加入到PATH里去
source /boot/.bashrc 使修改立即生效
实例测试:
进入工作目录 /home/android/jniTest
创建文件main.c,文件内容
#include <stdio.h>
int main()
{
int i=0;
printf("hi ym012 %d\n",i);
return;
}
arm-none-linux-gnueabi-gcc -static main.c -o main
启动Android模拟器,先创建 /dev/sample目录,再将编译好的main上传上去,最后将main改成可执行的。其命令如下
adb shell mkdir /dev/sample //在模拟器下创建一个目录
adb push main /dev/sample/main //将main文件上传到/dev/sample/main
adb shell chmod 777 /dev/sample/main //修改成可执行文件
再进入命令行模式,进入Android的模拟器的/dev/sample目录执行hello:
adb shell
#cd /dev/sample
#./hello //执行hello
运行结果如下:
总结:成功了!