如题,接下来讲的是开发NDK的一个小列子,可以让大家了解一下开发Android NDK的流程,在工作中,由我老大教给我的,加上自己理解,如有问题还请高手们指教!
(1)首先介绍自己的开发环境:Ubuntu下开发eclipse+android+ndk,其中配置android的开发环境网上肯定有不少,这里就不多介绍了,ndk就是自己下载一个就可以,有windows和linux的版本。还需要有点JNI的基础知识,我也刚学就不多说了。
(2)其次,新建一个android项目ndk_hello,配置如图:
在包ndk.test下新建一个类NDKLib,其中编写代码:
这里需要用到JNI的知识,nativie这个关键字,在整个项目中我们不会用到java语言来编写hello()这个方法,是会调用C后者C++的hello()方法。
其中static中的内容“ndk_hello”是对应的找到C的类,和之后的android.mk保持一致。
(3)找到你下载的ndk,打开apps文件夹,新建一个文件ndk_hello,此时点击F3,打开另一个窗口,找到你的工作目录,将你新建的项目创建快捷方式,拷贝到ndk_test下,将拷贝过来的快捷方式改名为project(只是规定),之后再在终端打开:(打如下指令)
在apps/ndk_hello下新建一个文件:Application.mk,内容如下:
(4)之后就是对之前写过的NDKLib进行处理,我的ubuntu下的文件夹名是yandong,按照你们机器的处理,我的工作目录是在yandong/java/workplace
顺序是:①找到新建的项目,项目/bin,编译ndk.test.NDKLib(javah ndk.test.NDkLib),在项目的lib文件下会自动生成一些东西。
②mkdir jni 新建一个jni的文件夹
③由第一步编译生成的.h文件拷贝到这个jni文件夹下
(5)此时在eclipse下刷新自己的项目,找到jni下的.h文件,此时这个.h文件内容如下:
在jni文件夹下创建一个.c的文件,雷同.h的文件名,编写内容如下:
其中include中导入的是自己生成的头文件,里面的方法名要和之前头文件里面的方法名一致。此时的头文件就类似java的接口。
(6)在jni下新建一个文件:Android.mk,其中编写内容如下:
其中ndk_test是在NDKLib类中定义的名字,ndk_test.c是在jni下新建的C文件。
(7)到这为止NDK的开发流程基本结束了,最后一步就是显示Hello World NDK!
这一步就很简单了,在activity那个里面设置一个TextView,调用这个就可以了:
显示效果图如下:
到这里Hello World NDK就结束了,其中为了演示从新建的工程,可能有点出入,但是最好保证项目名与jni下的android.mk中的(LOCAL_MODULE := ndk_hello)和ndk中apps下的项目里的Application.mk(APP_MODULES := ndk_hello)等保持一致最好了。
还请大家一起讨论一下关于学习NDK的开发了,感觉关于开发NDK的例子比较少,也请各位高手多多指点!
分享到:
相关推荐
该资源包含了一个ndk实现的helloworld,简单易懂。
开发android多年,近日处于兴趣,研究了一下NDK的东西,以下是一个简单的DEMO,希望对初学者能有一些帮助。
Eclipse NDK 开发之 HelloWorld。 详细说明,见相关博客。
Android NDK 安装以及 HelloWorld!测试
本代码主要是一个android调用ndk的小demo,包含c程序的头文件和源文件,以及编译的so文件。
第一个jni程序 helloworld.
你好NDK 这是一个简单的 Android NDK hello world 应用程序。
android下的ndk教程之helloworld,详细的教程参考http://blog.csdn.net/ownwell/article/details/8137376
NKD开发入门例子:一个简单的NDK HelloWorld的例子.
因此,目标读者是中型或高级 Android开发人员。本文包含两部分: 第1部分:ndk-build 在这一部分中,我们将讨论如何灵活地使用ndk-build来构建项目,以及如何组织项目的文件结构。 第2部分:独立工具链 在第2 ...
一步步讲解Android Studio1.5下如何进行NDK开发,直到输入“NDK,hello world”
很详细的Windows下安装NDK开发环境及hello world程序测试详细教程,图文并茂,并且对于一些常见的错误给出了解决方法。
使用eclipse的ndk hello world
一个简单的例子,用于Android ndk的Hello world代码,供大家免费下载使用。
Hello-jni源代码,可以直接导入Eclipse运行。 工程/lib文件夹下由编译好的libhello-jni.so文件
用NDK开发一个helloworld的小例子
Hello world 在 gradle 和 android studio 中使用 NDK 使用以下行 ndk.dir=your_ndk_location 在本地属性中填写您的 ndk 文件夹 此应用程序已更新为按照 gradle 示例中的建议构建 ndk 部分。 在 android gradle ...
这几天专门研究了下JNI编程,在网上找了好多资料,不过好多都是以前的,没有更新,而且有的还是错误的,让人不得不吐槽一把。为此,特的将JNI编程环境配置和HelloWorld程序运行详细的记录下来,希望能帮到大家!
Android_JNI_Helloworld Android Studio的安装项目以使用NDK 创建一个Android项目 添加ndk目录: ndk.dir = / pathTo / Android / ndk 使用Android Studio模板添加JNI文件夹 右键单击项目名称(应用程序)->新建->...
android ndk 代码例子,从 HelloWorld 到java 和c 方法互相调用,学习jni的时候写的demo,例子还是很有代表性的