NDK:Native Development Kit    

包括Apis +编译和运行的工具 +文档+ Sample

 

JNI:JAVA Native Interface
功能:JAVA语言调用c/C++语言

应用场景:

    1) 移植
    2) 3D
    3) 大量运算,会产生大量的临时对象
注意:

      错误的用法,为了提高速度而使用JNI或NDK
      潜在的崩溃问题,
      cpu架构不同:arm  x86

使用前提:已有JAVA和C代码,      
使用JNI步骤:
1. 在java代码中声明一个native方法
2. 生成一个JAVA和C++都能识别的一个接口文件
   扩展名是.h 
3. 使用C语言开发的工程师去实现.h文件,生成.c或者.cpp文件
4. 编译c或C++生成库文件,
   在Windows中生成.dll文件
   在linux中,生成.so文件  
5. 在JAVA的静态块中加载.so文件          

搭建NDK开发环境
一:配置cygwin
1) cygwin 功能:Windows下编译c/C++代码生成.so的工具
   配置环境变量,将D:\cygwin\bin配置到path中
2) 双击Cygwin根目录的Cygwin.bat或在cmd里在d盘的cygwin目录下执行Cygwin.bat 后会出现绿色字3) 使用UE打开Cygwin/home/windows用户名/.bash_profile   
   在文件结尾增加:
   NDK=/cygdrive/d/android-ndk-r9/
   export NDK

二、配置eclipse的NDK环境
Eclipse->windows->preferences->Android->NDK
location->D:\android-ndk-r9 配置NDK根目录

三、导入NDK的samples
1. 导入hello-jni
路径:D:\android-ndk-r9\samples\hello-jni
2. 在项目上点击右键->Android tools->Add Native Support

之后视图会进入到C++里

3. 在项目上点击右键->Build Project

bulid project编译后,会出现binaries目录下的.so文件

成功,运行项目。