- 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
- [专精特新]金华永和氟化工有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]重庆升光电力印务有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]无锡巨力重工股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西凯安新材料集团股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江永昌电气股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]苏州中创铝业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]杭州汽轮铸锻有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江美声智能系统有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]汕头市虹桥包装实业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西亚中电子科技股份有限公司行业竞争力评级分析报告(2023版).pdf
最近下载
- 2023河南郑州航空港经济综合实验区管委会招聘14人高频笔试、历年难易点考题(共500题含答案解析)模拟试卷.docx
- 2024-2030年中国双皮奶市场专题研究及市场前景预测评估报告.docx
- abaqus中英菜单对照.docx VIP
- AI技术在提高课堂效率中的应用教学研究课题报告.docx
- 10S505柔性接口给水管道支墩图集.docx
- 2023-2024年中医肛肠学(副高)考试高频题库(历年考点版)带答案解析篇.docx VIP
- 2023年中医肛肠学(副高)历年考试高频考点试题带答案解析.docx VIP
- 2023-2024年中医肛肠学(副高)考试高频题库(历年考点版)带答案解析版.docx VIP
- 2023-2024年中医肛肠学(副高)考试参考题库(历年高频考点版)带答案解析篇.docx VIP
- 七年语文《世说新语》二则课内外文言文比较阅读(原卷版+解析版).docx VIP
文档评论(0)