使用JNI,在java端调用c/c++

摘自:Android.NDK.Beginners.Guide. 第3章:Interfacing Java and c/c++ with JNI

Android离不开Java。虽然它的内核与关键库都是本地的,但应用程序框架差不多完全采用java或者说是仅封装在一个java层中。显然,有些库是可以直接从本地代码中访问,比如Open GL(第6章会讲述)。然面,大多数API只能从java端调用。不要期望直接用c/c++来创建你的应用界面。技术上来讲,现在还不能做到完全不使用java来创建一个应用程序。但最好,我们可以将java藏于表面之下。

因此,如果不将本地的c/c++代码与java结合使用,那么本地代码将显得毫无意义。如前一章所述,本地代码专注于java本地接口框架。JNI是Sun公司标准化的一个技术规格。它在JVM中得以实现是为了以下两个目的:允许java调用本地代码  和  允许本地代码调用java。在java与本地代码中,它是一个又向桥梁;但对于在你的java应用中释放c/c++的能量,它是唯一的途径。

在本章,我们将学习以下内容:

  1. 如何传入\传回java的基本类型、对象、数组;
  2. 在本地端处理java对象引用;
  3. 从本地端抛出异常。

JNI是一个广泛而又高级的技术主题,它需要一整本书才能完全介绍它。因此,本章将主要介绍搭建java与c/c++桥梁的必要知识。

你可能感兴趣的:(使用JNI,在java端调用c/c++)