#api-bindings #android #jni #jvm #binding-generator #bindings-generator #bindgen

jni-glue

用于与 JVM API 绑定的 jni-bindgen 代码生成器的手动粘合代码

8 个版本

0.0.10 2020年1月14日
0.0.9 2019年8月26日

#155FFI

Download history 33/week @ 2024-03-17 20/week @ 2024-03-24 55/week @ 2024-03-31 33/week @ 2024-04-07 33/week @ 2024-04-14 37/week @ 2024-04-21 30/week @ 2024-04-28 32/week @ 2024-05-05 35/week @ 2024-05-12 34/week @ 2024-05-19 45/week @ 2024-05-26 51/week @ 2024-06-02 43/week @ 2024-06-09 52/week @ 2024-06-16 46/week @ 2024-06-23 6/week @ 2024-06-30

每月154 次下载
用于 3 个 Crates (2 个直接使用)

MIT/Apache

81KB
1K SLoC

jni-bindgen

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

正在进行中,勉强部分可用

bindgenwasm-bindgen 的 WebIDL 的影响,但除此之外与之无关。

生成围绕由 .jar.class 文件定义的 API 的 Rust JVM FFI 包装器,因为维护自己的手写绑定是一项枯燥、可靠性和错误,以及痛苦的工作。

目标

  • 提供使用 Android 系统API的方法。
  • 提供使用 Java、Kotlin、Scala 或其他 JVM 基于API的方法。
  • 自动链接API文档,以便人们可以真正阅读它。
  • 消除手动编写不可靠、未经审查和 未经审计unsafe { ... } API 的需求

本地 Crates

github.com crates.io docs.rs 描述
jni-android-sys Crates.io Docs 绑定到 Android Java API
jni-bindgen Crates.io N/A Java API 绑定生成器
jni-glue Crates.io Docs Java API 绑定的实用函数

外部 Crates / 插件

github.com 文档 许可 位置
jni-sys Crates.io Docs License
jreflection Crates.io Docs License Bindgen
rust-android-gradle gradle.org README.md License 示例

许可

根据您选择,受以下任一许可的约束:

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,将按照上述方式双许可,没有任何附加条款或条件。


lib.rs:

Rust和JNI之间的通用粘合代码,用于自动生成的jni-bindgen粘合代码。

请参阅Android JNI技巧文档以及Java本地接口规范

依赖项

~52KB