Android Studio下使用NDK是一种怎样的体验

记录一次Android Studio下NDK的使用。

1、打开gradle.properties文件, 在文件的尾端配置,(已经下载好官方提供的ndk-bundle文件的前提下)

android.useDeprecatedNdk=true

Android Studio下使用NDK是一种怎样的体验_第1张图片

2、配置生成的.so库的名字

在build.grade的defaultConfig节点配置

Android Studio下使用NDK是一种怎样的体验_第2张图片

3、新建类,写入静态方法

Android Studio下使用NDK是一种怎样的体验_第3张图片

4、在工程新建 jni 路径

Android Studio下使用NDK是一种怎样的体验_第4张图片

5、终端进入包下

指令 cd firstndkdemo/src/main/java

Android Studio下使用NDK是一种怎样的体验_第5张图片

6、输入编译指令,注意,在此之前先将工程 build -> Make Project一下

Javah -d ../jni lkuan.com.firstndkdemo.FirstNdk

如果出现 编码GBK的不可映射错误,则指定编码即可,指令改为

Javah -encoding utf-8 -d ../jni lkuan.com.firstndkdemo.FirstNdk

Android Studio下使用NDK是一种怎样的体验_第6张图片
Android Studio下使用NDK是一种怎样的体验_第7张图片


7、已经生成了我们需要的头文件了,将头文件拷贝一份,改为我们的c文件


Android Studio下使用NDK是一种怎样的体验_第8张图片

8、报红暂时不处理,在jni目录下新建 Android.mk 文件,写下如下内容,注意后面注释部分在编译之前请删除

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := firstndk    //要生成的.so文件库名

LOCAL_SRC_FILES := firstndk.c    //你的.c文件名

include $(BUILD_SHARED_LIBRARY)


Android Studio下使用NDK是一种怎样的体验_第9张图片

在jni目录下新建Application.mk 目录,注意,注释部分编译前请删除,写下

APP_ABI := all //这里表示要生成所有平台下的so库,可以在这里进行过滤,选择生成自己需要的so库


Android Studio下使用NDK是一种怎样的体验_第10张图片

9、开始编译得到库文件,注意,上面的注释是不能写在里面的,编译之前先删除 Android.mk及Application.mk里的注释

终端输入 ndk-build.cmd

如果没有效果或者提示无指令,那应该是没有配置好ndk的环境变量,先配置环境变量

Android Studio下使用NDK是一种怎样的体验_第11张图片
Android Studio下使用NDK是一种怎样的体验_第12张图片

10、得到我们的库文件了,接下来就是使用了

Android Studio下使用NDK是一种怎样的体验_第13张图片


11、得到效果了

Android Studio下使用NDK是一种怎样的体验_第14张图片

你可能感兴趣的:(Android Studio下使用NDK是一种怎样的体验)