博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JNI和NDK编程
阅读量:4946 次
发布时间:2019-06-11

本文共 655 字,大约阅读时间需要 2 分钟。

1、背景                                                               

Java JNI的本意是Java Native Interface(java本地接口),它是为了方便Java调用C、C++等本地代码所封装的一层接口。

NDK是Android所提供的一个工具集合,通过NDK可以在Android中更加方便地通过JNI来访问本地代码C或C++。NDK提供的交叉编译器让开发人员只需要简单地修改mk文件就可以生成特定CPU平台的动态库。

使用NDK的好处:

a、提供代码的安全性。因此so库反编译比较困难。

b、可以很方便地使用目前已有的c、c++开源库。

c、便于平台间的移植。通过c/c++实现的动态库可以很方便地在其他平台上使用。

d、提供程序在某些特定情形下的执行效率,但是不能明显提升Android程序的性能。

JNI和NDK开发主要用于底层和嵌入式。

2、JNI的开发流程                                                

a、在Java中声明native方法。

b、编译Java源文件得到class文件,然后通过javah命令到处JNI的头文件。

c、实现JNI方法。

d、编译so库并在java中调用。

3、NDK的开发流程                                               

NDK的开发是基于JNI的,主要有如下几个步骤:

a、下载并配置NDK。

b、创建一个Android项目,并声明所需的native方法。

c、实现Android项目中所声明的native方法。

d、切换到jni目录的父目录,然后通过ndk-build命令编译产生so库。

 

转载于:https://www.cnblogs.com/fankongkong/p/7500365.html

你可能感兴趣的文章
创建框架结构的页面
查看>>
Jquery实现遮罩层,就是弹出DIV周围都灰色不能操作
查看>>
Log4Net组件的应用详解
查看>>
跨域问题
查看>>
面试题33 把数组排成最小的数
查看>>
2014-05-07 总结
查看>>
排序算法
查看>>
基础知识总结-前端面试(一)
查看>>
Asp.Net 之 下载文件的常用方式
查看>>
SQL常用函数
查看>>
android AVD创建
查看>>
#输出商品列表,用户输入序号,显示用户选中的商品
查看>>
npm 命令
查看>>
IntelliJ IDEA无法更新maven索引
查看>>
完成个人中心—导航标签
查看>>
Ext 中带有tbar按钮右侧对齐方法
查看>>
动态规划——H 最少回文串
查看>>
xenserver 主机cpu一段时间内的使用情况
查看>>
struts2验证规则validation配置文件命名方式总结
查看>>
注册表删除chrome插件
查看>>