Android Studio下的jni调用

高级Android软件开发必须要懂JNI,由于网上大部分教程还是eclipse版本的,那今天我们就来说一下Android Studio下是如何使用JNI的。

我就直接开门见山了,大约一共十步。

1. 加载动态链接库与native方法

2.在app的build.gradle中配置ndk信息与指定.so文件存放位置
这里写图片描述

3.在main/java下新建jni文件夹目录

4.生成.h文件
找到java目录,shift加鼠标右键打开cmd,输入命令:javah com.example.administrator.jnicalputer.MainActivity(自己java类的包名),以此来在java目录下生成指定java类的.h文件(也叫C头文件,包含所指定java类所有native方法)
这里写图片描述

5.将刚才java目录下生成的.h文件移到jni目录下。

6.编写C代码
C代码的编写很简单,将.h文件中的所有代码复制一份到.c文件中,然后添加方法实现即可。具体逻辑我就不说了。

7.编写Android.mk文件和Application.mk文件。
前面一步的图里面可以看到jni包里面多了一个Android.mk文件和Application.mk文件,还有一个main.c文件是上一步我们生成的
Android.mk文件和Application.mk文件是用来控制编译.so文件的,Android.mk文件控制.so文件如何编译, Application.mk文件控制支持的架构平台.
`Android.mk: LOCAL_PATH := (callmydir)include (CLEAR_VARS)
LOCAL_MODULE := JNICAP (动态链接库的名称)
LOCAL_SRC_FILES := sum.c (C代码文件)
include $(BUILD_SHARED_LIBRARY)

Application.mk: APP_CFLAGS += -Wno-error=format-security
APP_ABI := armeabi, armeabi-v7a, x86 (如果是多个架构平台,之间用,隔开)

`

8.编译.so文件
在jni目录下打开cmd,输入ndk-build命令;
命令执行成功后在工程的libs文件夹下面生成指定架构平台的.so文件,如果不添加Application.mk文件,则会生成所有架构的.so文件。
编译出来的.so默认是放在main里面的libs文件夹下的,需要将libs重命名为jniLibs!

9.添加 android.useDeprecatedNdk=true 到该 gradle.properties 文件中。

10.打包运行看效果。

好了,到此一个简单的jni调用就结束了,如果还有什么不懂的地方,请留言~~

demo下载地址 :http://download.csdn.net/detail/tobi2015/9621496

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值