Android Studio NDk-JNi开发(二)AS下开发流程
2017-02-18 13:48
330 查看
一、详细步骤
1.创建一个类,在里面声明native方法,如下图:2.先clean project ,之后Rebuild Project,在Terminal控制台进入到 …\app\build\intermediates\classes\debug 目录下,执行 javah -jni tongsiw.jnidemo.JniUtil。语句的格式是: javah -jni + 后面是native方法所在类的全类名。如下图:
执行完之后,会在…\app\build\intermediates\classes\debug 目录下生成.h头文件
3.在main文件夹下创建jni文件夹目录,将生成的头文件复制到jni目录下,同时在jni目录创建一个c文件,c文件名可以根据需求命名,添加代码,如下图:
4.接下来就是相关的配置
(1)在gradle.properties文件下添加代码 android.useDeprecatedNdk=true
(2)在Moudule下面的build.gradle文件下添加配置
5.在native本地方法类里面添加代码,如下图
6.好了,到这就可以build项目了,但我这里会有个bug,不知道大家有没有遇到过
解决办法:
1.下载一个LockHunter.exe,安装好
2.在Moudule下面的build.gradle文件下添加配置
task clean(type: Exec) { ext.lockhunter = '\"D:\\Develop_File\\LockHunter\"' def buildDir = file(new File("build")) commandLine 'cmd', 4000 "$lockhunter", '/delete', '/silent', buildDir }
贴张图:
到这,简单的开发流程就结束了;最后如果大家想要拿到so库,有两种方法:
1.通过命令行的方式
首先在jni目录下创建一个 Android.mk文件,代码如下:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := jnidemo LOCAL_SRC_FILES := jnidemo.c include $(BUILD_SHARED_LIBRARY)
然后在Terminal窗口进入到 main文件夹下,执行ndk-build命令,如下图:
2.在…app\build\intermediates\ndk\debug目录下面可以拿到so库,推荐这种,直接copy。如下图
二、拿到so库之后就可以删除掉jni目录了
两种方法:一、在main文件夹下创建jniLibs文件夹,将生成的so库放进去,就可以删掉jni目录了
二、将生成的so库放到app下的libs文件夹,但是这里在Module下的build.gradle中需要一个配置
sourceSets{ main{ jniLibs.srcDirs = ['libs'] } }
其实so库还可以放在别的目录下,如下图:
最后到这就基本结束了,这些也是在网上找的资料然后自己总结的,如果有问题,希望大神能够多多指点。
点击下载源码
相关文章推荐
- Android的NDK开发(1)————Android JNI简介与调用流程
- Android的NDK开发(1)————Android JNI简介与调用流程
- JNI开发的常见错误&&Android.mk文件说明&& jni开发的简便流程
- Android Studio ndk-Jni开发详细
- Android jni简便开发流程
- Android的NDK开发(1)————Android JNI简介与调用流程
- Android的NDK开发(1)————Android JNI简介与调用流程
- Android Studio ndk-Jni开发详解
- Android JNI开发流程(android开发艺术探索随笔)
- Android JNI 开发的流程
- android NDK/JNI环境配置及实例开发流程
- Android的NDK开发(1)————Android JNI简介与调用流程
- Android的NDK开发(1)————Android JNI简介与调用流程
- Android的NDK开发(1)————Android JNI简介与调用流程
- Android Studio ndk-Jni开发详细入门,Aes加密demo
- Android的NDK开发(1)————Android JNI简介与调用流程
- Android中NDK和JNI开发基本流程
- Android JNI学习之---JNI开发流程
- Android Studio ndk-Jni开发 示例
- android jni开发流程