8 个版本
0.0.10 | 2020年1月14日 |
---|---|
0.0.9 | 2019年8月26日 |
#155 在 FFI
每月154 次下载
用于 3 个 Crates (2 个直接使用)
81KB
1K SLoC
jni-bindgen
正在进行中,勉强部分可用
受 bindgen 和 wasm-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 | 绑定到 Android Java API | ||
jni-bindgen | N/A | Java API 绑定生成器 | |
jni-glue | Java API 绑定的实用函数 |
外部 Crates / 插件
github.com | 包 | 文档 | 许可 | 位置 |
---|---|---|---|---|
jni-sys | ||||
jreflection | Bindgen | |||
rust-android-gradle | README.md | 示例 |
许可
根据您选择,受以下任一许可的约束:
- Apache 许可证 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,将按照上述方式双许可,没有任何附加条款或条件。
lib.rs
:
Rust和JNI之间的通用粘合代码,用于自动生成的jni-bindgen粘合代码。
请参阅Android JNI技巧文档以及Java本地接口规范。
依赖项
~52KB