说明:本篇所述环境也是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

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

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

运行结果如下:

hi ym012 0

_______________

总结:成功了!

Logo

一站式 AI 云服务平台

更多推荐