当前位置: 代码迷 >> Android >> EIT形象的理解及android NDK开发demo
  详细解决方案

EIT形象的理解及android NDK开发demo

热度:100   发布时间:2016-04-28 00:50:57.0
EIT造型的理解及android NDK开发demo

EIT:指的是引擎、接口、执行。即引擎利用接口去执行。

在java中E一般指的是父类,I接口一般指的是抽象方法和本地方法。T一般指的是子类(编译时候确定)或本地方法(运行时候确定)。其中I由基类决定。


利用JNI java和本地方法可以互相调用。


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

android NDK 开发


第一步,配置NDK

在window----->preferences--------------->android-------->NDK中加载从谷歌下载的NDK




第二步、在sdk环境中建立一个android项目并右键工程,->Android Tools->Add Native Support。输入将要生成的.so文件的名字,点finish,如下图:


名字命名以lib开头llibxxxx.so。必须这样不如在加载动态库找不到!!!!!


第三步,右键工程,->Properties,点击C/C++ General展开,点击Path and Symbols,在右边Includes下,点击Add,把NDK文件夹下的jni头文件和相应的C++头文件添加进来。


第四步,在工程源文件的包中添加一个类,用于定义native函数接口,如下

public class HelloTest {			public static native String getHello(String hello);}

第五步,生成.h头文件

利用ADT生成。

在菜单栏中点Run->External Tools->External Tools Configurations,右键Program->New,在右边的main子窗口配置如下图,Name可以自己随便取一个名字。


参数如下:-classpath ${project_loc}\bin\classes -d ${project_loc}\jni -jni ${java_type_name}




然后选中有native接口的类,运行刚配置的javah即可得到头文件如下所示:


生成的头文件:


最后可以在cpp文件中写代码了:

#include <jni.h>#include <stdio.h>#include "com_example_jnitest_HelloTest.h"JNIEXPORT jstring JNICALL Java_com_example_jnitest_HelloTest_getHello  (JNIEnv *env, jclass _class, jstring _string){	  return env->NewStringUTF("Hello from JNI!");}




  相关解决方案