基于windows平台的Android原生(Native)C开发环境搭建

1.搭建Cygwin,请先看我的另一篇博文的第二标题

  http://www.cnblogs.com/tangjianke/archive/2011/09/27/2193324.html

2.搭建基于ARM的交叉编译环境

  1.为什么?

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

  2. 下载ARM交叉编译工具

    我们选择使用CodeSourcery G++的在Windows平台免费的ARM交叉编译工具ARM EABI。可以去http://www.mentor.com/embedded-software/codesourcery下载,因为该网站更换连接较为频繁,这里不给出具体地址,在网站里找到。

    

基于windows平台的Android原生(Native)C开发环境搭建_第1张图片

基于windows平台的Android原生(Native)C开发环境搭建_第2张图片

基于windows平台的Android原生(Native)C开发环境搭建_第3张图片

然后下载windows版本的即可

  3. 安装ARM交叉编译环境

    1. 将EXE文件安装,我的安装路径(D:\Program Files\CodeSourcery\Sourcery G++ Lite)

    2. 修改D:\Cygwin\home\jianke.tang\.bash_profile文件,将 CodeSourcery编译器的bin目录 (我的是D:\Program Files\CodeSourcery\Sourcery G++ Lite\bin) 加入你的PATH环境变量中

        在文件末尾添加如下:

          PATH=${PATH}:/cygdrive/D/Progra~1/CodeSourcery/Source~1/bin
          export PATH
      同时为了使用adb对模拟器进行编译需要将其所在的目录加入到PATH环境变量中。我的是(
D:\Program Files\Android\android-sdk/platform-tools

        在文件末尾添加如下:
          PATH=${PATH}:/cygdrive/D/Progra~1/Android/android-sdk/platform-tools
          export PATH

     3.大功告成,编译环境搭建完毕。

3. 这里我们写一个小的例子供大家参考

?
#include <stdlib.h> #include <stdio.h> int main( int argc, char ** argv) { printf ( "Hello , Jian Ke\n" ); return 0; }

  1. 编译

  保存为hello.c,保存位置为我的home目录,即D:\Cygwin\home\jianke.tang\中,用如下命令进行编译

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

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

  2. 启动Android模拟器,用如下命令将文件push到Android模拟器上:
    先在模拟器上创建/dev/sample目录。

    $ adb shell mkdir /dev/sample

    然后将编译好的hello文件上传上去。
    $ adb push hello /dev/sample/hello

    最后将其改成可执行的文件。
    $ adb shell chmod 777 /dev/sample/hello

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

    $ adb shell

    #cd /dev/sample

    #./hello

  4. 完成了,为了给大家有个直观的认识,我这里进入模拟器进行演示,在模拟器上打开Terminal Emulator.

    

基于windows平台的Android原生(Native)C开发环境搭建_第4张图片

  

更多相关文章

  1. Android生成Xml文件
  2. Android 生成签名及APK 文件
  3. [cocos2d-x 学习] Windows下环境配置
  4. Android文件系统的结构及目录用途、操作方法
  5. android文件系统

随机推荐

  1. 简单分析Android里面的TimePicker控件
  2. Android(安卓)Fragment 剖析 - 01
  3. 常用的快捷键大全(IT)
  4. Android多线程之HandlerThread
  5. Afinal简介
  6. 本科学习Android笔记之传智播客_快速掌握
  7. 使用Jenkins自动打包android
  8. 关于实现S5PV210同时跑wince 和android双
  9. 关于Android(安卓)O不能正常推送通知问题
  10. Android短信发送流程(原)