准备工作:

1.需要安装JDK,我使用的是JDK 1.7.0;

2.安装NDK,我使用的是android studio 自动下载的版本;

 

现在开始实现这个调用过程:

1.新建一个工程:MyJNITest

android JNI  调用NDK方法

activity_main.xml(用于显示测试结果);

2.在com.example.myapplication下新建一个java类JniText

android JNI  调用NDK方法里面的内容:android JNI  调用NDK方法

3.编译项目MyJNITest,在项目的MyJniTest对应的build\intermediates\classes\debug就会生成JniText的.class文件 ;

4.在MyJniTest\build\intermediates\classes\debug 目录下cmd使用javah命令生成JniText对应的头文件;

命令:javah  - classpath . com.example.myapplication.JniText 生成com_example_myapplication_JniText.h文件;

5.在MyJniTest项目中创建文件夹JNI,记住选择 android JNI  调用NDK方法

6.剪切文件 com_example_myapplication_JniText.h到JNI目录下,然后在该目录下创建com_example_myapplication_JniText.h对应的.c文件;

 如图所示:android JNI  调用NDK方法

编写.c文件: android JNI  调用NDK方法

7.修改项目对应的build.gradle文件:

android JNI  调用NDK方法 

8.修改gradle.properties 文件:添加android.useDeprecatedNdk=true;

9.调用JniText中的方法:

android JNI  调用NDK方法 

 10:运行结果:

 android JNI  调用NDK方法

  成功!!!!


 

相关文章: