posts - 33, comments - 0, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

环境:

   windows xp+vmware+redhat(ubuntu)

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

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 <stdio.h>
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
_______________

总结:成功了!


只有注册用户登录后才能发表评论。


网站导航: