Android之NDKJNI入门教程.pptx

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档