- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AndroidNDK开发——教程_图文
10.3 NDK开发示例 建立C源代码文件 根据Android.mk文件的声明,add-module模块仅包含一个C源代码文件add-module.c。add-module.c文件的作用是实现两个整数加法运算功能,全部代码如下 #include jni.h jlong Java_edu_hrbeu_AndroidNdkDemo_AndroidNdkDemo_add( JNIEnv* env, jobject this, jlong x, jlong y ) 4. { 5. return x+y; 6. } 10.3 NDK开发示例 建立C源代码文件 第1行代码引入的是JNI(Java Native Interface)的头文件 第3行代码是函数名称,jlong表示Java长型整数,Java_edu_hrbeu_AndroidNdkDemo_AndroidNdkDemo_add的构成为Java_包名称_类_函数,其中函数的名称和参数要与AndroidNdkDemo.java文件定义的函数一致,AndroidNdkDemo.java文件定义的函数为public native long add(long x, long y) 第5行代码用来返回加法运算结果 10.3 NDK开发示例 编译共享库模块 首先启动cygwin,然后切换到Androd NDK的主目录下,键入如下的编译命令 ndk-demo是apps目录下的应用程序目录名称。在指定应用程序(目录)名称后,NKD编译系统会首先找到目录中的Application.mk文件,根据Application.mk文件的信息,确定该Android共享需要使用add-module模块;然后在sources目录中有哪些信誉好的足球投注网站所有Android.mk文件,在找到与add-module模块匹配的Android.mk文件后,根据Android.mk文件提供的信息编译指定的C/C++源代码文件,形成共享库文件;最后将生产的共享库文件拷贝到Android工程的指定目录中 make APP=ndk-demo 10.3 NDK开发示例 编译共享库模块 目前Android NDK 1.5版本存在一个小错误,如果用户直接运行make APP=ndk-demo命令编译程序,NDK编译系统将提示out/host/config.mk文件不存在,让用户重新运行build/host-setup.sh脚本 解决这问题的方法非常简单,只需要将Android NDK/build/out/host文件夹和其中的config.mk文件拷贝到Android NDK/out目录中即可 10.3 NDK开发示例 编译共享库模块 下图是编译成功的提示信息 提示信息包括编译add-module模块所使用到的文件,生产so文件的文件名和so文件的安装位置。为了确认是否成功编译了模块,用户可以打开apps/ndk-demo/project/libs/armeabi目录,如果目录中存在libadd-module.so文件,则表示编译成功 10.3 NDK开发示例 运行Android程序 在运行AndroidNdkDemo示例程序前,务必将AndroidNdkDemo.java文件中第16行和第23行的注释取消,并注释掉第25行到第27行代码 习题: 1.简述Android NDK开发的优势和不足。 2.说明Android NDK应用程序开发的一般步骤。 3.参考NDK的tow-libs示例,使用静态库实现AndroidNdkDemo示例中加法运算的函数功能。 4.使用NDK能够提高复杂函数的运算速度,但程序运行效率的提升并不容易度量。分别使用C/C++和Java语言设计一个具有复杂运算的函数,通过对比函数的调用和返回时间,分析NDK对提高程序运行效率的能力。 * * 第10章 Android NDK开发 本章学习目标: 了解Android NDK的用途 掌握Android NDK编译环境的安装与配置方法 掌握Android NDK的开发方法 10.1 NDK简介 Android NDK (Android Native Development Kit)是一系列的开发工具,允许程序开发人员在Android应用程序中嵌入C/C++语言编写的非托管代码 Android NDK优势 解决了核心模块使用托管语言开发执行效率低下的问题 允许程序开发人员直接使用C/C++源代码,极大的提高了Android应用程序开发的灵活性 Android NDK不足 增加程序的例如信号处理或物理仿真)使用非托管代码运行效率最高,复杂性,增加了程序调试的难度 CP
您可能关注的文档
- 各种签证的资料翻译.doc
- 学习材料一自我评价.doc
- 领导班子评价.doc
- 土木外文资料翻译.doc
- 翻译需打印资料.doc
- 比较盘英文资料翻译全集.doc
- 外文资料翻译终稿-.doc
- 资料翻译.doc
- 房建外文资料翻译.doc
- 稳牌加油机资料翻译.doc
- 纲要(上)第29课中国特色社会主义进入新时代课件(共22张PPT)(含音频+视频).pptx
- 小学生《卫生与健康知识》主题班会 教案.doc
- 专题4: 空气的成分探究(含答案)-----2025年中考化学(人教版)总复习.docx
- 专题十 资产阶级民主革命与中华民国的建立 2025年中考历史一轮复习学案(含答案).docx
- 高中政治统编版必修一4.1中国特色社会主义进入新时代课件(共30张ppt)(含音频+视频).pptx
- 高中政治统编版必修一中国特色社会主义4.1中国特色社会主义进入新时代课件(共33张ppt)(含音频+视频).pptx
- 4.1中国特色社会主义进入新时代课件高中政治统编版必修一中国特色社会主义(共26张PPT)(含音频+视频).pptx
- 小升初英语语法:一般过去时(Simple Past Tense)全解析及练习(含答案).docx
- 政治-部编版-必修1-21-22版:4.1中国特色社会主义进入新时代(步步高)x-第1课时中国特色社会主义进入新时代-第四课只有坚持和发展中国特色社会主义才能实现中华民族伟大复兴-课件(含音频+视频).pptx
- 4.1中国特色社会主义进入新时代课件(共19张PPT)-统编版必修一中国特色社会主义(含音频+视频).pptx
最近下载
- 2024辽宁中考数学二轮中考考点研究 3.3 一次函数的实际应用 (课件).pptx VIP
- 东风雪铁龙C5汽车使用手册用户说明书pdf电子版下载.pdf
- 标准图集-06R403 锅炉房风烟道及附件.pdf VIP
- GBT3810.2-2016 陶瓷砖试验方法 第2部分:尺寸和表面质量的检验.pdf
- 政工党支部2024年组织生活会带头严守政治纪律和政治规矩,维护党的团结统一等方面四个带头对照检查材料.pdf VIP
- L18J905 排烟气道标准.pdf
- 开通KT820Ti KT830Ti_车床使用说明书_V2.4.pdf
- 6 Work, energy and power Alevel考试物理课件.ppt VIP
- 《个体防护装备配备规范 第3部分:冶金、有色》GB 39800.3-2020知识培训.pptx
- 杭州地铁一号线萧山湘湖站安全事故调查研究报告.doc
文档评论(0)