- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android NDK JNI 入门进阶 Android NDK简介下载和安装Android NDK配置Android NDK的开发环境Android JNI接口设计编写Android NDK程序的步骤配置Android.mk 文件Android NDK定义的变量Android NDK定义的函数配置Application.mk文件关于JNI的一些相关操作JNI调用Java方法本章小结Android NDK简介 Android NDK(Native Development kit)是一套允许开发人员将本地代码嵌入Android应用程序的开发包。众所周知,Android应用程序运行在Dalvik虚拟机上。 而NDK允许开发人员将Android应用程序中的部分功能(由于NDK只开发了部分接口,因此,无法使用NDK编写完整的Android应用程序)用c/c++语言来实现,并将部分c/c++代码编译成可直接运行在Android平台上的本地代码。这些本地代码以动态链接库(lib…so)的形式存在。NDK的这个特性既有利于代码的重用,也可以在某种程度上提高程序的运行速度。Android NDK简介NDK由如下几部分组成:提供了一套工具集,这套工具集可以将c/c++源代码生成本地代码。用于定义NDK接口的C头文件(*.h)和实现这些接口的库文件。一套编译系统。可以通过非常少的配置生成目标文件。下载和安装Android NDK Android NDK 需要一个c/c++编译环境才能使用。因此不仅要安装Android NDK,还需要安装相应的c/c++环境。如果在Linux下使用Android NDK,因为一般Linux安装包都自带了c/c++编译环境,所以只需要在安装Linux时选中相应的开发工具即可。如果在windows下使用Android NDK,仍然需要使用Linux环境的c/c++编译器来生成lib…so文件。这是Linux/UNIX下的动态链接库文件,相当于window下的dll文件。文件名必须以lib开头,文件扩展名必须是.so。例如libLog.so、libImage.so等。 可以从如下地址下载Android NDK的最新版本/intl/zh-CN/sdk/index.html/intl/zh-CN/sdk/index.html 下载后,将Android NDK的压缩包解压缩即可。配置Android NDK的开发环境设置Android NDK的路径 在Linux环境下(fedora)安装了android-ndk-r5b-mips-linux(用于板子上生成so)和android-ndk-r5c(用于手机或模拟器上生成so),现在主要用android-ndk-r5c为大家讲解。在根目录下 vi .bash_profile,在该文件上更改路径如下: # .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then . ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/bin:/home/xiongwq/ndk-x86/android-ndk-r5cexport PATHANDROID_NDK_ROOT=:/home/xiongwq/ndk-x86/android-ndk-r5cexport ANDROID_NDK_ROOT配置Android NDK的开发环境安装Android NDK开发环境 在完成第一步后,重启linux系统。然后在终端控制台中执行下面的命令进入Android NDK中的根目录: cd $ANDROID_NDK_ROOT 然后运行ndk里面自带的samples/hello-jni的例子,输入ndk-build –B命令,如果出现图片所示的内容,说明Android NDK开发环境已经安装成功。Android JNI接口设计 AndroidN DK应用程序的接口实际上就是在JNI(Java Native Interface)规范中定义的接口。JNI规范中定义了Java调用动态链接库(*.dll或*.so文件,由于Android是Linux内核的操作系统,因此只有*.so文件)的约定。这里的接口就是指函数,包括函数名称、函数参数个数、函数参数类型及函数返回值的类型。Android JNI接口设计举个简单的例子,看一下hello-jni.c文件中的c语言函数,代码如下:Jstring Java_com_example_hellojni_HelloJni_stringFromJNI(JNIEnv* env, jobject thiz) { retu
您可能关注的文档
最近下载
- 日立电梯HGE3客梯电气原理图电气规格表K3400003.pdf
- 脑卒中后抑郁.ppt VIP
- 旋转阀ACCS操作法汇.doc
- 《醉翁亭记》三年中考考试题(含答案析)-备战中考语文课内文言文知识点梳理+三年考试题训练(部编版).docx
- 2.3 周而复始的循环第一课时教学课件 教科版(2019)高中信息技术必修1.pptx VIP
- 精品解析:北京市中国人民大学附属中学2021-2022学年九年级上学期10月月考物理试题(原卷版).docx VIP
- 血液透析并发症心力衰竭ppt.pptx
- 2024年秋季中国石油大庆油田有限责任公司高校毕业生招聘630人备考试题及答案解析.docx
- 围术期伴发的精神障碍的预防.pptx VIP
- AD5791_cn 中文说明书.pdf
文档评论(0)