android-JNI的使用,自己动手

android-JNI的使用,自己动手_第1张图片
未闻花名

开发环境:Android Studio

JNI的开发流程主要分为以下几个步骤:

1、下载配置NDK



android-JNI的使用,自己动手_第2张图片
ndk
android-JNI的使用,自己动手_第3张图片

2 、创建一个类并定义native方法


android-JNI的使用,自己动手_第4张图片

3、在app目录下build.gradle中添加ndk配置


android-JNI的使用,自己动手_第5张图片


4、接下来我们把创建的HelloJni.java文件 编译成HelloJni .class文件

1.首先我们cd到HelloJni所在的文件目录 

2.通过cmd命令 javac HelloJni.java 生成class文件


android-JNI的使用,自己动手_第6张图片

5、然后把.class编译成 .h文件

1. cd到java目录下 

2. 然后cmd 命令 javah -jni 包名+类名 或者javah  -classpath.-jni  包名+类名

3、这时会生成一个com_example_administrator_jnihello_HelloJni.h文件

android-JNI的使用,自己动手_第7张图片
编译生成.h文件

#########可能报错 ###########

Error:Execution failed for task ':app:compileDebugNdk'.

> Error: Your project contains C++ files but it is not using a supported native build system.

Consider using CMake or ndk-build integration with the stable Android Gradle plugin:

https://developer.android.com/studio/projects/add-native-code.html

or use the experimental plugin:

http://tools.android.com/tech-docs/new-build-system/gradle-experimental.

Information:BUILD FAILED

Information:Total time: 1.303 secs

Information:1 error

Information:0 warnings

Information:See complete output in console

解决方法 :将“useDeprecatedNdk”设为true。解决方法:在gradle.properites中添加“android.useDeprecatedNdk=true”。

6、.接下来在项目中创建一个jni目录,并将刚生成的.h文件剪切至这个目录

android-JNI的使用,自己动手_第8张图片


android-JNI的使用,自己动手_第9张图片

7、.我们先来查看一下这个.h文件的内容。这里面用java的概念来说就相当于接口内的抽象方法,需要我们创建.c文件来实现这些方法同时也就将我们的定义的native方法实现了

android-JNI的使用,自己动手_第10张图片

7.我们在jni目录下创建一个hello_jni.c文件来实现.h文件中的抽象方法

//自己创建一个c文件,实现自己定义的native方法,也就是.h文件中的方法//引入自己生成的.h头文件


android-JNI的使用,自己动手_第11张图片

8 ,我们在MainActivity中调用native方法 


android-JNI的使用,自己动手_第12张图片


9.将项目rebuild过后我们在./build就能看到生成的so文件了

android-JNI的使用,自己动手_第13张图片


10 、在手机上的运行效果


android-JNI的使用,自己动手_第14张图片

参考文章:http://blog.csdn.net/a_zhon/article/details/53097512

你可能感兴趣的:(android-JNI的使用,自己动手)