Android jni

原创 2018年04月16日 14:02:10

Jni是什么?

JavaNative Interface (JNI)标准是java平台的一部分,JNI是Java语言提供的Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以调用java代码。JNI 是本地编程接口,Java和C/C++互相通过的接口。Java通过C/C++使用本地的代码的一个关键性原因在于C/C++代码的高效性。

NDK就是为我们生成了c/c++的动态链接库而已,jni呢只不过是java和c沟通而已,两者与android没有半毛钱关系,只因为安卓是java程序开发然后jni又能与c沟通,所以使“Java+C”的开发方式终于转正。


如何组成?

1.在Java中声明Native方法(即需要调用的本地方法)
2.编译上述 Java源文件javac(得到 .class文件)
3.通过 javah 命令导出JNI的头文件(.h文件)
4.使用 Java需要交互的本地代码 实现在 Java中声明的Native方法 

5.如 Java 需要与 C++ 交互,那么就用C++实现 Java的Native方法

6.编译.so库文件

7.通过Java命令执行 Java程序,最终实现Java调用本地代码

下篇文章我以实例教大家如何使用jni生成.so文件,并实现增量更新的方法



版权声明:本文为博主原创文章,未经博主允许不得转载,如需转载请标明出处 https://blog.csdn.net/qq_32368129/article/details/79956529

Android studio简单使用JNI实例

Android studio简单使用JNI实例 发现网上很多JNI的使用教程,也很详细,不过有的地方有些缺漏,导致很多小问题难以解决的,今天就来总结一下。   准备工作:下载NDK。...
  • wangliu1102
  • wangliu1102
  • 2017年12月28日 10:58
  • 610

【Android学习之】深入理解JNI

经过一周多的时间,这篇博客终于码完了。这篇博客主要是为了帮助大家深入理解JNI,写这篇博客主要是因为前段时间去面试,面试有道25分的简答题就是让我概述Android JNI 的调用过程,当时我就懵逼了...
  • u013132758
  • u013132758
  • 2016年06月16日 12:55
  • 1232

android jni 内存泄露

背景: 最近一个月一直在做移植库的工作,将c代码到share library移植到Android平台。这就涉及到Android NDK(native develop kit)内容。这里只想记录下JNI...
  • liwei405499
  • liwei405499
  • 2014年12月19日 10:26
  • 1380

Android Studio Jni 调试

Jni是android提供的与其他语言交互的接口,常用的就是c或c++,之前写jni代码是非常痛苦的,一方面像写记事本一样没有各种函数提示,一方面无法调试,单靠打log效率非常低,所以之前都有点不想写...
  • u012292247
  • u012292247
  • 2016年11月16日 21:20
  • 4618

[Android NDK]Android JNI开发例子 ---3 在JNI中实现openGL功能

Java部分与例子2相似。 MainActivity.java public class MainActivity extends Activity { GLSurfaceView mG...
  • virus026
  • virus026
  • 2013年11月26日 16:12
  • 2174

Android调用JNI的简单实例(附详细步骤)

最近想调用FFmepg库来做编解码的东西,首先就得学会使用JNI(JAVA Native Interface)调用。 下面做个简单的JNI调用实例,中间遇到的问题及解决过程省略一万字,查找到的资料也都...
  • EricFantastic
  • EricFantastic
  • 2015年10月21日 09:45
  • 5139

android jni基本使用方式

JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++) 一旦使用JNI,JAVA程序就丧失了JAVA平台的两个优点:1、程序...
  • H291850336
  • H291850336
  • 2016年03月21日 09:37
  • 1198

Android中JNI创建实例

参考文档: http://blog.sina.com.cn/s/blog_a11f64590101924l.html http://www.cnblogs.com/hoys/archive/2010/...
  • wikiday
  • wikiday
  • 2015年01月04日 22:18
  • 9127

Android学习JNI,使用JNI实现字符串加密

本节学习使用C语言加密字符串,大家都知道使用JAVA实现的加密都可以反编译的,而使用C写的加密是很难被反编译的。所以我们使用JNI学习如何使用C实现对字符串的加密。 首先:我们实现一个界面 布...
  • longwang155069
  • longwang155069
  • 2015年08月20日 15:22
  • 2664

android中JNI的用途及简单使用

JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。从Java1.1开始,JNI标准成为java平台的一部分,它允许Jav...
  • Shirly_YY
  • Shirly_YY
  • 2016年12月26日 09:48
  • 2966
收藏助手
不良信息举报
您举报文章:Android jni
举报原因:
原因补充:

(最多只允许输入30个字)