现在的位置: 首页 > 综合 > 正文

【转】Android原生(Native) C开发之一 环境搭建篇

2014年01月19日 ⁄ 综合 ⁄ 共 1327字 ⁄ 字号 评论关闭

Android原生(Native) C开发之一
环境搭建篇

文章分类:移动开发

Android是基于Linux的操作系统,处理器是ARM的,所以要在Linux或Windows等x86系统上编译Android能运行的程序,你需要一个交叉编译器。 

 

在Linux下面,你可以自已编译一个交叉编译环境,但Windows下面,就比较复杂(也可以在cygwin中编译一个),但你可以选择下载一个现成的交叉编译环境: 

http://www.codesourcery.com/gnu_toolchains/arm/download.html 

 

Windows: http://www.codesourcery.com/gnu_toolchains/arm/portal/package3400/public/arm-none-linux-gnueabi/arm-2008q3-41-arm-none-linux-gnueabi.exe 

 

Linux: http://www.codesourcery.com/gnu_toolchains/arm/portal/package3399/public/arm-none-linux-gnueabi/arm-2008q3-41-arm-none-linux-gnueabi.bin 

 

安装好了之后,将
CodeSourcery编译器的bin目录 (我的是D:/Program Files/CodeSourcery/Sourcery G++
Lite/bin)加入你的PATH环境变量中,就可以开始你的Android Native C开发之旅了,写好一个简单的C程序: 

 

引用

#include 

 

int
main(int argc, char** argv) { 

printf(”hello
android!/nI’m %s!/nI like android very much!!!/n”, “Martin Foo”); 

 

return
0; 

}

 

另存成hello.c,进入命令行模式,确保交叉编译器的bin目录,及Android
SDK的tools目录在你的系统环境变量的path里面,用如下命令编译: 

 

arm-none-linux-gnueabi-gcc
-static hello.c -o hello 

 

注意,一定要加上static参数,否则编译好的可能会在Android上不能运行。 

 

启动Android模拟器,用如下命令将文件push到Android模拟器上: 

 

adb shell
mkdir /dev/sample 

adb push
hello /dev/sample/hello 

 

adb shell
chmod 777 /dev/sample/hello 

 

先创建
/dev/sample目录,再将编译好的hello上传上去,最后将hello改成可执行的。 

 

再进入命令行模式,进入Android的shell环境: 

 

adb
shell 

 

#cd
/dev/sample 

 

#./hello 

 

进入
/dev/sample目录,执行hello,运行结果如下图: 

 

 

Android
Native编译环境 

 

源文档 <http://yinter.javaeye.com/blog/521794

抱歉!评论已关闭.