- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NDK开发样例.pdf
NDK开开发发样样例例
一、NDK产生的背景
And ro id平台从诞生起 ,就已经支持 、 ++开发。众所周知 ,And ro id 的SDK基于Java实现 ,这意味着基于And ro id SDK
进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java” 。在And ro id SDK首次发布
时 ,Goog le就宣称其虚拟机Da lvik支持JNI编程方式 ,也就是第三方应用完全可以通过JNI调用 自己的 动态库 ,即在
And ro id平台上 ,“Java+ ”的编程方式是一直都可以实现的。
不过 ,Goog le也表示 ,使用原生SDK编程相比Da lvik虚拟机也有一些劣势 ,And ro id SDK文档里 ,找不到任何JNI方面的
帮助。即使第三方应用开发者使用JNI完成了自己的 动态链接库 (so )开发 ,但是so如何和应用程序一起打包成a pk并
发布 ?这里面也存在技术障碍 。比如程序更加复杂 ,兼容性难以保障 ,无法访问Framewo rk API ,De bug 难度更大等。
开发者需要 自行斟酌使用。
于是NDK就应运而生了。NDK全称是Native Deve lo pme nt Kit。
NDK的发布 ,使“Java+ ”的开发方式终于转正 ,成为官方支持的开发方式。NDK将是And ro id平台支持 开发的开端 。
二、为什么使用NDK
1.代码的保护 。由于a pk的j ava层代码很容易被反编译 ,而 / ++库反汇难度较大。
2.可以方便地使用现存的开源库。大部分现存的开源库都是用 / ++代码编写的。
3.提高程序的执行效率。将要求高性能的应用逻辑使用 开发 ,从而提高应用程序的执行效率。
4.便于移植 。用 / ++写得库可以方便在其他的嵌入式平台上再次使用。
三、NDK简介
1.NDK是一系列工具的集合
NDK提供了一系列的工具 ,帮助开发者快速开发 (或 ++)的动态库 ,并能 自动将so和j ava应用一起打包成a pk。这些
工具对开发者的帮助是巨大的。
NDK集成了交叉编译器 ,并提供了相应的mk文件隔离 PU、平台、ABI等差异 ,开发人员只需要简单修改mk文件 (指
出“哪些文件需要编译” 、“编译特性要求”等 ) ,就可以创建出so 。
NDK可以自动地将so和Java应用一起打包 ,极大地减轻了开发人员的打包工作 。
2.NDK提供了一份稳定、功能有限的API头文件声明
Goog le 明确声明该API是稳定的 ,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出 ,这些API支持的
功能非常有限 ,包含有 : 标准库 (libc )、标准数学库 (libm )、压缩库 (libz )、Log 库 (lib log )。
四、需要下载NDK ,安装cyg w in才能编译NDK程序
五、 用 NDK 来编译程序
a .现在我们用安装好的 NDK 来编译一个简单的程序吧 ,我们选择 nd k 自带的例子 he llo-j ni ,我的位于E:\and ro id-
nd k-r5\samples\he llo-j ni( 根据你具体的安装位置而定 ) ,
b .运行 cyg w in ,输入命令 cd /cyg d rive/e/and ro id-nd k-r5/samples/he llo-j ni ,进入到 E:\and ro id-nd k-
r5\samples\he llo-j ni 目录。
c .输入 $NDK_ ROOT /nd k-build .cmd (一定要在你需要编译的程序的目录下运行$NDK_ ROOT /nd k-build .cmd ,因为是
使用NDK编译你需要的工程 ,编译时会在你所在工程的j ni目录找And ro id .mk文件来确定需要编译的文件) ,执行成功后 ,
它会 自动生成一个 libs 目录 ,把编译生成的 .so 文件放在里面。 ($NDK_ ROOT 是调用我们之前配置好的环境变
量 , nd k-build 是调用 nd k 的编译程序 )
d .此时去 he llo-j ni 的 libs 目录下看有没有生成的 .so 文件 ,如果有 ,你的
您可能关注的文档
- 2015年中山大学考古学考研真题,考研心得,考研经验,真题解析.pdf
- 2015年人大管理综合考研、复试真题,复试经验,考研经验,心得分享,考研流程.pdf
- 2015年全国广播电视编辑记者、播音员主持人资格考试全真模拟题.pdf
- 2015年北京大学汉语国际教育考研真题、参考书、招生简章、复习攻略.pdf
- 2015年北京师范大学汉院考研,复试真题,参考答案,考研参考书,复习方法,考研资料.pdf
- 2015年北京师范大学汉院语言学考研,复试真题,参考答案,考研参考书,复习方法,考研资料.pdf
- 2015年北京师范大学汉院语言学考研,复试真题,复试笔记,复试指导,复试经验,真题解析,考研动态.pdf
- 2015年北京师范大学汉院语言学考研,复试真题,复试经验,考研经验,心得分享,考研流程.pdf
- 2015年北京师范大学汉院语言学考研,复试真题,考研笔记,复试流程,考研大纲,考研经验.pdf
- 2015年北京师范大学汉院语言学考研,复试解析,考研心态,考研大纲,考研真题,考研经验.pdf
最近下载
- 东风本田-思铭(CIIMO)-产品使用说明书-CIIMO 1.8L EXI AT-DHW7181C1AUE-思铭(CIIMO)用户手册.pdf VIP
- 改进ESMDO算法在PMSM双惯量系统无模型滑模控制中的应用研究.docx VIP
- 现代密码学 第一章-密码学基础.pdf VIP
- 婴幼儿健康照护:婴幼儿健康概述PPT教学课件.pptx
- 雨季施工方案及措施.pdf VIP
- 《小学教育研究方法》课程教学大纲.docx
- 人教版(2024新版)七年级上册生物全册教学设计.pdf VIP
- 《矿井维修电工技师》PPT课件.pptx VIP
- 2018版-《国家基本药物目录》.pdf VIP
- 农业资源与环境概论.ppt VIP
文档评论(0)