- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 Android NDK开发 本章学习目标 Android SDK在发布时,选择Java作为开发语言,使很多C语言的程序开发人员望而却步。为了搭建二者之间的桥梁,2009年6月26日,Google Android发布了NDK(Native Development Kit,原生态开发包),从而有助于其他系统上的软件移植到Android平台上,同时为C语言开发者敞开了大门。通过本章的学习,可以初步了解Android NDK的开发过程及方法。 9.1 Android NDK简介 Android NDK是一系列的开发工具,配合Android SDK使用,是作为其补充而存在的。 它允许程序开发人员在Android应用程序中嵌入C/C++语言编写的非托管代码。 Android应用主要适用Java语言开发,编译后产生的托管代码在Dalvik虚拟机上运行。但在一些需要较高执行效率的地方,程序开发人员希望能够使用非托管代码,从而提高Android应用程序的核心部分的运行速度。 Android NDK的出现,不仅解决了核心模块使用托管语言开发程序效率低下的问题,还允许程序开发人员直接使用C/C++源代码,极大地提高了Android应用程序开发的灵活性。 但是,Android NDK在提高了程序效率的同时,也会增加程序的复杂性,提高程序调试的难度。 9.1 Android NDK简介 NDK提供了以下资源: 将C和C++源代码生成原生代码库的工具和文件; 将原生库嵌入apk文件的方法; 兼容1.5版本以上的原生系统头文件和库; 文档、示例和指导。 9.2 安装和配置NDK开发环境 Android NDK是配合SDK使用,所以需要在下载NDK之前先安装Android1.5 SDK及以上版本,Android应用运行在Dalvik虚拟机上,但NDK并不能让用户开发纯原生应用,因为它主要运行时仍然是在虚拟机上。 9.2.1 系统和软件需求 Android NDK编译环境支持Windows,Linux和Mac OS,这里仅介绍Windows系统的编译环境配置方法。在进行环境搭建之前,先了解所需要的软件,下面是相关的Google官方推荐的软件。 1.Android SDK 2.Android NDK 3.Cygwin 9.2.2 NDK开发环境搭建 1.安装Cygwin 9.2.2 NDK开发环境搭建 9.2.2 NDK开发环境搭建 9.2.2 NDK开发环境搭建 9.2.2 NDK开发环境搭建 9.2.2 NDK开发环境搭建 9.2.2 NDK开发环境搭建 9.3.1 编译第一个NDK程序 Android NDK自带了若干实例,我们来学习编译第一个Hello-jni程序,从而理解Android NDK程序开发及编译的过程。相关实例位于NDK根目录下的samples文件夹中。 编译过程较简单,在Cygwin中进入对应的Android项目目录(本实例目录为:$NDK/ samples/ hello-jni),运行命令:$NDK/ndk-build,实际上就是运行NDK目录中的一个可执行脚本。 9.3.1 编译第一个NDK程序 最后,将hello-jni工程导入到Eclipse中。整体编译Android项目,就可以正常运行JNI部分的代码了。 9.3.1 编译第一个NDK程序 运行该项目,则表示第一个NDK程序编译运行成功。 9.3.2 Android NDK之JNI使用 Java的跨平台性,同时也导致它和本地机器的隔离性,解决Java对本地操作的一种方法就是JNI(Java Native Interface)。JNI明确分开了Java代码与本机代码(C/C++)的执行,定义了一个清晰的API在这两者之间进行通信。Android NDK开发其实就是使用JNI来调用本地的方法或者库(在Windows平台上是DLL文件形式,在Unix机器上是SO文件形式)为Java程序服务。通常,在进行NDK开发时,一般需要同时建立Android工程和C/C++工程,然后使用NDK编译C/C++工程,形成可以被调用的共享库,最后共享库文件会被拷贝到Android工程中,并被直接打包到apk文件中。 9.3.2 Android NDK之JNI使用 Android NDK开发有以下步骤: (1)建立Application.mk文件。 (2)建立Android工程。 (3)建立Android.mk文件。 (4)建立C源代码文件。 (5)编译共享库模块。 (6)运行Android程序。 随机数相加实例 1.建立Application.mk文件 老版本的NDK,工程中有一个apps,里面包含了应用的程序文件和Application.mk文件。本文的版本(r4),不需要编程人员自
您可能关注的文档
最近下载
- 升压站(35KV、站用变、施工变、接地变、SVG)设备安装施工方案.docx
- 新教科版六上科学4.4《电能和磁能》优质课件.pptx
- 浅谈暖棚法施工冬季桥梁混凝土施工质量控制.doc VIP
- 消防安全主题班会课件——生命至上预防火灾.pptx
- 2024年资料员考试题库含答案(综合题).docx
- 战场救护知识培训PPT课件.pptx VIP
- 3.3.2 C-2.1 卫生院手术部位识别标识相关制度与流程(2024年4月修订).docx
- 【中文翻译版】美国居民膳食指南2020-2025.pdf
- 部编人教版五年级下册语文教案全册教学设计及教学反思.doc
- 学习铸牢中华民族共同体意识心得(15篇).docx VIP
文档评论(0)