美文网首页
android-JNI的使用,自己动手

android-JNI的使用,自己动手

作者: 未聞椛洺 | 来源:发表于2017-10-09 16:35 被阅读0次
    未闻花名

    开发环境: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

    相关文章

      网友评论

          本文标题: android-JNI的使用,自己动手

          本文链接:https://www.haomeiwen.com/subject/bbhpyxtx.html