最简单明了的NDK开发以及生成.so库

  • 首先下载NDK插件,然后选中app右键打开open module setting,设置NDK路径目录下的ndk-bundle就ok啦!
    最简单明了的NDK开发以及生成.so库_第1张图片

1、在我们的项目中的gradle.properties文件中加上 android.useDeprecatedNdk = true

2、怎么生成头文件.h文件,首先新建一个写native方法的类:
最简单明了的NDK开发以及生成.so库_第2张图片

3、类写好了,然后点击锤子make 一下项目,然后复制 app、build、intermediates、classes下的debug目录路径,打开Terminal输入 cd 复制的debug目录
最简单明了的NDK开发以及生成.so库_第3张图片
然后在debug目录下输入:javah -jni 包名+类名(也就是刚才写的NdkTest类路径),回车你就可以在denbug目录下看见.h文件了。

4、接着在main目录下创建jni目录,把刚才生成的头文件.h剪切到jni下,再在jni目录下新建一个.c文件:
最简单明了的NDK开发以及生成.so库_第4张图片

把.h文件的方法直接负责到c文件中,记得引入.h
最简单明了的NDK开发以及生成.so库_第5张图片,照着写就没有错!

写一个Android.mk文件

LOCAL_PATH := (callmydir)include (CLEAR_VARS)

LOCAL_MODULE := JniTest
LOCAL_SRC_FILES := TestJni.c
include $(BUILD_SHARED_LIBRARY)

然后右击jni文件夹选择我们的命令ndk-build
最简单明了的NDK开发以及生成.so库_第6张图片

为了方便生成so文件,我们可以在Android Studio → External Tools中设置命令,来生成.so文件

最简单明了的NDK开发以及生成.so库_第7张图片

最简单明了的NDK开发以及生成.so库_第8张图片

Program: D:\android\android-ndk-r11c\build\ndk-build.cmd

Parameters: NDK_LIBS_OUT= ModuleFileDir /src/main/jniLibs

Working directory: ModuleFileDir \src\main

(注意:NDK_LIBS_OUT= ModuleFileDir /src/main/jniLibs

这个含义是将生成的so文件放在jniLibs这个文件下,

如果不写这句话,什么都不填,则为默认的文件夹)

然后右击jni文件夹选择我们的命令ndk-build

最简单明了的NDK开发以及生成.so库_第9张图片

这样就生成.so文件了:

最简单明了的NDK开发以及生成.so库_第10张图片

build.gradle的配置

最简单明了的NDK开发以及生成.so库_第11张图片

调用:

最简单明了的NDK开发以及生成.so库_第12张图片

你可能感兴趣的:(Android)