All Projects → MaulingMonkey → jni-bindgen

MaulingMonkey / jni-bindgen

Licence: other
Generate Rust JVM FFI wrappers around APIs defined by .jar or .class files, because maintaining your own hand-written bindings is an exercise in boredom, soundness bugs, and pain.

Programming Languages

rust
11053 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to jni-bindgen

jni-bind
JNI Bind is a set of advanced syntactic sugar for writing efficient correct JNI Code in C++17 (and up).
Stars: ✭ 42 (-23.64%)
Mutual labels:  jvm, jni
Fake Jni
An implementation of the JNI and JVMTI with support for direct interaction between natively registered classes and JVM objects.
Stars: ✭ 20 (-63.64%)
Mutual labels:  jvm, jni
sbt-jni
SBT Plugin to ease working with JNI
Stars: ✭ 110 (+100%)
Mutual labels:  jvm, jni
Jni By Examples
🎇Fun Java JNI By Examples - with CMake and C++ (or C, of course!) ‼️ Accepting PRs
Stars: ✭ 99 (+80%)
Mutual labels:  jvm, jni
Android
Swift library for Android
Stars: ✭ 48 (-12.73%)
Mutual labels:  jvm, jni
Inline Java
Haskell/Java interop via inline Java code in Haskell modules.
Stars: ✭ 197 (+258.18%)
Mutual labels:  jvm, jni
Stackparam
JVM agent to add method parameters to Java stack traces
Stars: ✭ 90 (+63.64%)
Mutual labels:  jvm, jni
imgui-java
JNI based binding for Dear ImGui
Stars: ✭ 270 (+390.91%)
Mutual labels:  jvm, jni
jvm-dump-proxy
A proxy DLL for Windows to dump JVM classes at JNI level
Stars: ✭ 53 (-3.64%)
Mutual labels:  jvm, jni
PhoneVR
Use Steam VR-enabled applications with your phone as HMD (Head-mounted display). The only Open-Source solution to similar commercial packages like VRidge, iVRy, Trinus etc etc.
Stars: ✭ 178 (+223.64%)
Mutual labels:  jni
jnigi
Golang Java JNI library
Stars: ✭ 92 (+67.27%)
Mutual labels:  jvm
java-rust-ffi
🍋 FFI example for accessing Rust lang dynamic libraries from java
Stars: ✭ 37 (-32.73%)
Mutual labels:  jvm
delta
DDD-centric event-sourcing library for the JVM
Stars: ✭ 15 (-72.73%)
Mutual labels:  jvm
splunk-otel-java
Splunk Distribution of OpenTelemetry Java
Stars: ✭ 39 (-29.09%)
Mutual labels:  jvm
jni
V wrapper around the C Java Native Interface
Stars: ✭ 15 (-72.73%)
Mutual labels:  jni
wasm2kt
Web Assembly to Kotlin and Java converter. Allows to compile a C or C++ program/library, and generate a Kotlin or Java program/library.
Stars: ✭ 20 (-63.64%)
Mutual labels:  jvm
micrometer-jvm-extras
A set of additional JVM process metrics for micrometer.io.
Stars: ✭ 113 (+105.45%)
Mutual labels:  jvm
graalvm
A Cloud Native Buildpack that provides the GraalVM implementations of JREs and JDKs
Stars: ✭ 21 (-61.82%)
Mutual labels:  jvm
bck2brwsr
Bck2Brwsr VM to transpile Java bytecode to JavaScript
Stars: ✭ 93 (+69.09%)
Mutual labels:  jvm
play-scala-chatroom-example
Play chatroom with Scala API
Stars: ✭ 43 (-21.82%)
Mutual labels:  jvm

jni-bindgen

GitHub Build Status unsafe: yes rust: stable Open issues License dependency status

Work in progress, only barely kinda partially usable

Vaguely inspired by, but otherwise unrelated to, bindgen and wasm-bindgen's WebIDL stuff.

Generate Rust JVM FFI wrappers around APIs defined by .jar or .class files, because maintaining your own hand-written bindings is an exercise in boredom, soundness bugs, and pain.

Goals

  • Provide a means of using Android system APIs specifically.
  • Provide a means of using Java, Kotlin, Scala, or other JVM based APIs.
  • Automatically link API documentation, so people might actually read it.
  • Eliminate the need to manually write unsound, unreviewed, and unaudited unsafe { ... } APIs

Local Crates

github.com crates.io docs.rs Description
jni-android-sys Crates.io Docs Bindings to Android Java APIs
jni-bindgen Crates.io N/A Generator of Java API bindings
jni-glue Crates.io Docs Utility functions for Java API bindings

External Crates / Plugins

github.com package docs License Where
jni-sys Crates.io Docs License
jreflection Crates.io Docs License Bindgen
rust-android-gradle gradle.org README.md License Examples

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].