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

基于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版本的即可

  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.

    

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值