NDK开发简介
记录一些NDK开发的基础问题,这里记录的方向会更偏向于逆向、安全方面的内容。
什么是NDK
JNI:Java Native Interface的缩写,JAVA本地接口的意思
NDK:Native Development Kit(本地开发套件)

- 可以帮助开发人员快速开发、调试动态库

JNI函数
JNI是一个规范

- 有时候需要编译后保留函数名可以加上extern ”C”,使其按C的方式进行编译



JNI参数
静态函数和动态函数实现的时候第二个传参是不同的


静态成员可以直接通过类名的方式访问调用,非静态函数是不行的

- 通过对参数的分析,我们可以知道一个JNI函数它的参数一定是不少于两个的,从第三个参数开始才是属于函数自己的参数
调用
在调用C文件中的函数的时候要显式的加上extern “C”


- 因为如果不加的话编译器会默认按C++的方式进行编译,在函数名称粉碎之后就链接不到了。
变量类型
在前面加上 j

测试
执行成功:测试的时候注意一下系统版本


- debug调试要注意设备版本跟项目SDK版本保持一致,不然会报错
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xiaoeryu!
评论