8 个版本
0.0.10 | 2020年1月14日 |
---|---|
0.0.9 | 2019年8月26日 |
#281 在 FFI
275KB
4.5K 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 | package | docs | 许可证 | 位置 |
---|---|---|---|---|
jni-sys | ||||
jreflection | Bindgen | |||
rust-android-gradle | README.md | 示例 |
许可证
根据您的要求,许可如下:
- Apache 许可证 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确表示,否则根据Apache-2.0许可协议定义的,您有意提交以包含在作品中的任何贡献,将按上述方式双重授权,不附加任何额外条款或条件。
依赖项
~3–4.5MB
~73K SLoC