android-JNI的使用,自己动手

未闻花名

开发环境:Android Studio

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

1、下载配置NDK



ndk

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


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



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

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

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


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

1. cd到java目录下 

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

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

编译生成.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文件剪切至这个目录


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

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

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


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



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


10 、在手机上的运行效果


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容