本文目录一览:
C语言与安卓开发有什么关系。
安卓的底层使用的是C语言开发的
所以会使用到C语言
另外安卓在嵌入式控制系统中
使用软件控制嵌入式系统的时候会使用到NDK技术
这里面也会使用到C语言开发
Android上如何用C语言编程
害哥搞这个离线包搞了个把小时。为了清楚,上个图: 敲个LS,什么东西都没有,这个目录是cygwin的安装目录下面的home文件夹下的用户名文件夹。接下来是配置与Android相关的。在home/用户名,这个文件夹下有一个文件为.bash_profile,打开它,到最后添加两行NDK的环境变量:NDK_ROOT=/cygdrive/d/android-ndk-r6export NDK_ROOT上面的意思是,ndk的目录是,d:/android-ndk-r6添加完之后,关闭Cygwin重新启动一下,然后敲入cd $NDK_ROOT,是否进入到ndk的目录了?否则就看看哪个字母错了。在ndk的目录下samples下有很多例子,随便弄个就可编译了。下面是新建一个项目,以对C语言在项目中的位置更清楚。打开Eclipse新建一个Android项目,取名hellojni,为了清晰,便于维护,及各种各样的好处,JNI的JAVA代码单独一个类,单独一个包。其实最好能不用JNI就别用JNI,这东西负作用巨大,特别是在用到JNI复杂的地方,什么内存啊,类型啊,哪里调用的方法,异常啊,可靠性都非常麻烦。非要用JNI的复杂功能,做好两件事,做之前充分设计,设计之前充分学习一下JNI文档。当然对于一些简单的应用,那只需要充分仔细。作好参数,返回值的检查,记得释放内存就行了。
如何在Android系统上运行C语言的程序
在Android系统上运行C语言的程序的方法:
1. 查看可执行文件xlisten-arm所需要的动态链接库:
执行语句:
2. 将程序编译的时候选择静态编译,即使用选项 -static
对Makefile文件中的CFLAG变量进行修改:
CFLAGS = -Wall
改为:
CFLAGS = -Wall -static
3. 在Makefile中,修改LIBS变量:
LIBS = -lsqlite3 -lm -lcrypt
改为:
LIBS = -lsqlite3 -lm -lcrypt -lpthread -ldl
然后进行交叉编译,成功了!
4. 编译出来的可执行文件比较大,因为事静态编译的,有2M多,
拷贝到开发板的andriod系统中,
修改权限:
#chmod 777 xlisten-arm
5. 执行:
/ # ./xlisten-arm
这样就能够正确的执行了!
Android系统简介:
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。