环境:

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 jxvfarm-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 _______________

总结:成功了!

更多相关文章

  1. 《Qt on Android核心编程》购买链接出来了
  2. 阅读《Android(安卓)从入门到精通》(2)——熟悉开发环境
  3. linux ,Android基础知识总结
  4. myEclipse8.5集成svn android svn使用
  5. [Android] 文件夹下文件的个数限制
  6. Android编译系统中的Android.bp、Blueprint与Soong
  7. Android之Telephony各文件解释
  8. Android上传图片到服务器,android-async-http上传图片到服务器
  9. NPM 和webpack 的基础使用

随机推荐

  1. SQL update 多表关联更新的实现代码
  2. SqlServer 按时间段查询问题
  3. SQL Server AlwaysOn读写分离配置图文教
  4. SQL Server 2016 Alwayson新增功能图文详
  5. SQL Server在AlwaysOn中使用内存表的“踩
  6. SQL Server 2012 sa用户登录错误18456的
  7. SQL Server Alwayson创建代理作业的注意
  8. SQL Server实现自动循环归档分区数据脚本
  9. SqlServer批量备份多个数据库且删除3天前
  10. SqlServer给表增加多个字段的语法