关闭

安卓开发ndk的编译顺序 和 jni的简单调用

标签: androidndkfiletime时间戳jni
197人阅读 评论(0) 收藏 举报
分类:


1. 首先需要下载ndk 并且 配置ndk 环境变量  就是把 ndk-build.cmd的文件路径放到path 的环境变量中


2 创建 jni 文件夹 里面创建 Android.mk记事本文件 内容是

LOCAL_PATH := $(call my-dir) (不用管)
include $(CLEAR_VARS)  (不用管)
LOCAL_MODULE    := 生成的lib名字 
LOCAL_SRC_FILES := c/c++代码文件名 同目录下的
include $(BUILD_SHARED_LIBRARY)  (不用管)


3 进入cmd  cd 到你创建jni 的目录那里  如果d://so/jni  就cd到d://so文件夹就行了 


4  使用  ndk-build 命令  编译 c/c++ 文件  如果成功的话 会生成 libs obj 两个目录,  libs里面的为我们需要 .so文件



以上编译的步骤就完成了!


下面是使用.so 


1在代码中调用 .so  必须要创建 jni.java


jni 代码 和 cpp文件中的代码 是一一对应的 下面是个读取文件时间filetime 转换成 时间戳 的例子!



 这个是java 代码 





c代码


编写c代码时一定要注意编码问题! 注意!否则会编译失败!


可以理解为 java代码 是个接口 c代码 是实现 只不过这个对应比较麻烦 


可以看到 参数多了几个, 方法名 和参数 都变了  这都是有规律的变化 具体的代码  看这两个文件的关系 摸索出规律来 改代码就行了


对参数不懂的可以看 jni.h 里面的东西!相当于是个大类库!



最后 jni 就像普通 java  类一样,直接在别的地方调用就行了 









0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:914次
    • 积分:66
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类