#java #jvm #class #bindings #bug #jni #read

deprecated bindgen-jni

Renamed to jni-bindgen. Code generator for binding to JVM APIs from Rust

2 releases

0.0.1 Aug 7, 2019
0.0.0 Aug 2, 2019

#50 in #jvm

MIT/Apache

74KB
1K SLoC

bindgen-jni

Work in progress, not yet 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 APIs using unsafe { ... }

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.

Dependencies

~2.1–3MB
~55K SLoC