为方便以后学习和工作,现转载一批文章,方便以后使用。

来源:http://blog.sina.com.cn/s/blog_4a0a39c30100auh9.html 作者:风子

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 <stdlib.h>

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,运行结果如下图:


更多相关文章

  1. Android国际化快捷设置
  2. Ubuntu16.04编译Android源码系列二—— android 5.1和android 6.
  3. Android调试工具adb的高逼格使用方式
  4. Kivy A to Z -- Kivycatalog例子无法在Android平台上运行及异常
  5. 【Android】windows下使用android studio和ndk-build编译c程序生
  6. Android调用系统关机与重启功能
  7. Android编译环境
  8. Android(安卓)NDK开发(一)——ndk-build编译生成so库文件并使用
  9. Android之drawable和mipmap目录区别

随机推荐

  1. Android(安卓)OpenGL学习笔记(一)
  2. 下载android的linux内核的方法
  3. live555 for Android
  4. Android ViewGroup/View 事件分发机制详
  5. Android NDK的C++11标准支持
  6. 源码分析android 系统framework(一)之Activ
  7. Android命名规范
  8. Android:关于ContentProvider的知识
  9. 手把手教Android商业项目-即时通讯-i美聊
  10. Android短信操作(通过内容提供者)