jni.hpp - A modern, type-safe, header-only, C++14 wrapper for JNI

  •        30

jni.hpp is a modern, type-safe, header-only, C++14 wrapper for JNI (Java Native Interface). Its aim is to make calling Java from C++, or C++ from Java, convenient and safe, without sacrificing low-level control, as you commonly do with code generation approaches.Two levels of wrappers are provided.




Related Projects

Djinni - A tool for generating cross-language type declarations and interface bindings.

  •    C++

Djinni is a tool for generating cross-language type declarations and interface bindings. It's designed to connect C++ with either Java or Objective-C. Python support is available in an experimental version on the python branch.We at Dropbox use Djinni to interface cross-platform C++ library code with platform-specific Java and Objective-C on Android and iOS.

Vulkan-Hpp - Open-Source Vulkan C++ API

  •    C++

The goal of the Vulkan-Hpp is to provide header only C++ bindings for the Vulkan C API to improve the developers Vulkan experience without introducing CPU runtime cost. It adds features like type safety for enums and bitfields, STL container support, exceptions and simple enumerations. Vulkan-Hpp is part of the LunarG Vulkan SDK since version 1.0.24. Just #include <vulkan/vulkan.hpp> and you're ready to use the C++ bindings. If you're using a Vulkan version not yet supported by the Vulkan SDK you can find the latest version of the header here.

ReLinker - A robust native library loader for Android.

  •    Java

ReLinker fixes these issues by replacing the standard System.loadLibrary call with a more reliable implementation. Note that this library fixes intermittent link errors; if you get an error every time you use your app, you may have a configuration issue. See this StackOverflow question for more information.


  •    CSharp

MikJNI is a .NET to java interop library that allows you to create and call java objects from within your .NET program. The MikJNI library consists of two layers: - a very thin layer around JNI (Java Native Interface), exposing the JNI functionality as .NET classes, but not...


  •    Java

MEX/JNI is a set of bindings between MATLAB and Java using Mathworks' External Interface API and Java Native Interface (JNI).

AndroidFFmpeg - FFmpeg build for android random architectures with example jni

  •    C

This project aims to create working library providing playing video files in android via ffmpeg libraries. With some effort and NDK knowledge you can use this ffmpeg libraries build to convert video files. We rather want to use ffmpeg library without modifications to facilitate updating of ffmpeg core. This project aim to simplify compilation of FFmpeg for android different architectures to one big apk file.


  •    Java

Example JAVA-Wrapper und JAVA-Wrapper-Class in C++ for K8055 USB I/O Card von Vellemann. German Description for create JNI with JAVA.


  •    Java

This is a JNI library for MSMQ. It allows Java applications to connect to MSMQ on Windows.

Accessing MSMQ from Java , msmq to java , MSMQ to JMS ,JAVA MSMQ, MSMQ to JAVA

  •    Java

This is dll based java API which create a bridge between MSMQ to JAVA.This JAVA API helps to recieve the messages in MSMQ and as well as SEND it to the MSMQ.It also provide a bridge for MSMQ to JMS. Accessing MSMQ from Java with the help of c++ based dll. This library gives ...

Jomega is a JNI extension of IBM J9 JVM

  •    Java

JOmega is a Open Source Java Mobile J9 Extension This LGPL library is a JAVA-JNI-C++ extension of J9 IBM Java Virtual Machine CDC for WinCe. It provides low level power management support, sound and a SQL database based on Sqlite.


  •    Java

This project supplies two code generating utilities and a core C++ library that simplify programming to the JNI in C++.

KJGallery - 一个支持Gif图片以及普通图片预览,支持双击缩放,单机退出,同时可以选择使用jni的形式去高效加载gif或者更更精简的(仅2个类)gif控件

  •    Java




Javacurl: Eclipse Plugin JNI binding to the C cURL library

react-mapbox-gl - A React binding of mapbox-gl-js

  •    TypeScript

If those properties changed at the mapbox-gl-js level and you don't update the value kept in your state, it will be unsynced with the current viewport. At some point you might want to update the viewport value (zoom, pitch or bearing) with the ones in your state but using value equality is not enough. Taking zoom as example, you will still have the unsynced zoom value therefore we can't tell if you want to update the prop or not. In order to explicitly update the current viewport values you can instead break the references of those props and reliably update the current viewport with the one you have in your state to be synced again. Please try to reproduce your problem with the boilerplate before posting an issue.

swift-tagged - 🏷 A wrapper type for safer, expressive code.

  •    Swift

A wrapper type for safer, expressive code. We often work with types that are far too general or hold far too many values than what is necessary for our domain. Sometimes we just want to differentiate between two seemingly equivalent values at the type level.


  •    Java

freeimage4j is a JNI Java wrapper for the superb FreeImage library. Currently not all methods are mapped but loading, saving and simple image manipulation like contrast and brightness are supported. Take a look at the docs for a full list.

Java Proj.4

  •    Java

This reimplementation is a pure java reimplementation of proj.4 ( https://sourceforge.net/projects/freshmeat_proj.4/ ) instead of a jni wrapper around the native proj.4 libraries


  •    Java

Java Native Interface wrapper for the IUPAC International Chemical Identifier (InChI)

Java Readline

  •    Java

Java Readline is a JNI wrapper for the GNU readline or the editline command line libraries.

Snappy - Port of Snappy to Java

  •    Java

This is a rewrite (port) of Snappy writen in pure Java. This compression code produces a byte-for-byte exact copy of the output created by the original C++ code, and extremely fast.