JNI初步认识

第一步:

在安卓工程中建立一个类,在类中通过静态代码块加载SO库中的内容,利用静态方法调取c/c++中的方法。

例子:

static{

System.loadLibrary("对应的SO库名称");

}

public static native 返回类型 方法名;

第二步:

对于调用so库的类,生成对应的头文件

例子:

进入该工程对应的class文件夹下,即工程下/bin/classes/开启控制台

键入如下代码:

javah 包名.对应的类

生成对应的.h文件

取头文件中的方法名放至第三步中的C/C++类中,实现功能

第三步:

编写C/C++实现具体功能

编写Android.mk 

#包含Android.mk自身的路径 LOCAL_PATH := $(call my-dir)
#清除LOCAL_XXX变量,除了LOCAL_PATH include $( CLEAR_VARS)
#要生成的动态库名称,系统会自动加上“lib”前缀和“.so”后缀 LOCAL_MODULE := jni
#要编译的C/C++文件 LOCAL_SRC_FILES := jni.cpp
#指向构建脚本,搜集定义的LOCAL_XXX变量信息,生成lib$(LOCAL_MODULE).so include $( BUILD_SHARED_LIBRARY)

第四步:

在C/C++类所在目录开启控制台,键入ndk-build编译出so文件

第五步:

将so文件放入工程libs下

将C/C++  MK 文件放入工程下建立jni文件夹下

第六步:

编译运行即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值