AS jni调用入门

Posted 第壹时间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AS jni调用入门相关的知识,希望对你有一定的参考价值。

一、开发环境配置:

1、android Studio 2.3.3

2、android-ndk-r14b-windows-x86_64

二、创建项目

1、新建android项目

2、新建文件

3、编译生成.class文件

 

 4、生成.h文件

(1)、首先进入打开Terminal,进入对应的工程目录下,访问build/intermediates/classes/debug目录下

(2)、生成头文件,执行命令后不会马上看见.h文件,关闭下debug文件,再重新打开,我们.h文件就会看到了

(3)、在main目录下新建jni目录

 

 然后将刚刚生成的.h文件copy过来,然后新建cpp文件,文件名称随意

include替换成我们自己的.h文件名称

c代码方法名也对应换成我们.h文件中的方法名

5、新建Android.mk文件

gradle.properties中添加

android.useDeprecatedNdk=true

6、执行ndk-build命令

进入jni目录,执行ndk-build命令

 

 

 执行成功,然后就可以删除jni文件夹,引用.so文件了

7、在app的build.gradle中添加如下内容

defaultConfig {
        applicationId "com.lyf.test.ndktest"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        ndk {
            moduleName "YanboberJniLibName"
        }
    }

    sourceSets {
        main {
            jni.srcDirs = []
            jniLibs.srcDir \'src/main/libs\'
        }
    }

 

编译运行,大功告成。

 

以上是关于AS jni调用入门的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio NDK 入门教程--JNI签名验证防止恶意调用

Android的JNI调用

Android Studio NDK 入门教程--JNI签名验证防止恶意调用

Android Studio NDK 入门教程--JNI签名验证防止恶意调用

Android中关于JNI 的学习(零)简单的样例,简单地入门

移动安全技术-Java调用C函数_JNI