摘要:串口在数据通信中利用广泛,但Android SDK指定使用Java作为第3方利用开发语言,这给C语言实现串口利用带来了困难。当然Google Android已经经发布了NDK(Native Development Kit,原生态开发包),支撑开发者用C/C++语言开发Android程序,但目前官方提供的技术指导比较简略。通过开发1个Android下串口通信利用实例,具体先容了Android NDK的开发流程,帮助开发职员快速的完成平台搭建。
关键词:Android;NDK;JNI;SDK;串口
Android是Google推出的基于Linux的开源手机操纵系统,是1个专门针对于挪动设备设计的软件平台,包孕操纵系统、中间件以及1些关键利用。它的软件架构囊括4个层次,从高到低分别为利用层、利用框架层、系统运行层以及linux内核层,如图一所示。每一1个Android利用程序都在它自己的入程中运行,都具备1个独立的Dalvik虚拟机实例。Android发布初期,Google就表示其虚拟机Dalvik支撑JNI编程方式,也就是第3方利用完整可以使用JNI调用自己的C动态库,但Google官方并无明确表示支撑开发者使用这类法子。终究在二00九年六月,Google Android发布了NDK,它支撑开发者使用C/C++语言开发Android程序。作为Android SDK的1个附加组件提供,开发者必须先安装Android SDK方可使用NDK。NDK的目的是为了增添代码的重用性及加快程序的运行速度,这有益于开发者从其他系统上移植软件到Android平台。
一 Android NDK简介
在Android上利用程序的开发大部门基于Java语言来实现。要使用C或者是C++的程序或者库,就需要使用NDK来实现。NDK是Native Development Kit的简称。它是1个工具集,集成为了Android的交叉编译环境,并提供了1套比较方便的Makefile,可以帮助开发者快速开发C或者是C++的动态库,并自动的将so动态库以及java程序打包成apk,在Android上运行。有两个理由使用NDK:1是合理的重用现有的代码;2是在程序中某些关键的部门入步履行效率。
Android NDK目前作为Android SDK的1个附加组件提供,开发者须先安装Android SDK方可使用NDK。在Windows平台下入行NDK开发通常会采取Cygwin。Cygwin是1套可以运行在Windows平台上的UNIX/Linux模拟器。运行Cygwin后会出现1个相似Windows CMD的Shell环境地面,可以使用大部门Linux软件以及功能。使用它咱们可以方便的在Windows平台编译出Linux平台的库文件或者利用程序。
二 安装以及配置NDK开发环境
二.一 安装NDK
首先要彻底安装SDK,绝量入级至最新版本,文中使用二.一版本的SDK。然后下载NDK,官网有3个版天职别是Windows、Mac OS X(intel)、Linux三二/六四(x八六),下载后解压即可使用。文中使用Windows版本的NDK,版本为android-ndk-r五。将它解压到某个目录下,文中咱们将NDK安装到D:“android“android-ndk-r五目录中。
二.二 安装Cygwin
首先往Cygwin官网下载网络安装程序,下载下来之后点击直接运行。安装进程中最关键的是选择需要安装的包,为支撑Android NDK的开发,选择Default安装后再安装下列模块autoconf二.一、automake一.一0、binutils、gcc-core、gcc四-core、gdb、pcre、pcre-devel、GNU awk。
下面开始将Android NDK配置到Cygwin中。运行Cygwin,修改Cygwin目录下(/home/usrname)的.bash_profile文件,在文件尾部加进以下代码,
NDK=/cygdrive/d/android/android-ndk-r五
export NDK
然后从新启动Cygwin。输进cd $NDK,假设输出上面配置的/cygdrive/e/android-ndk-r五信息,则表明环境变量设置胜利了。接下来便可以够用 Cygwin 来编译咱们的NDK代码了。
三Android NDK开发实例
开发实例是1个Android平台上的收音机程序,该利用通过调用串口API与外围收音机芯片通信,入而节制收音机芯片完成搜台、显示等功能。