8 个版本

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

#155FFI

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

每月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