1 个不稳定版本
0.0.10 | 2020 年 1 月 14 日 |
---|
#36 in #jvm
用于 jni-bindgen
54KB
860 行
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 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则您根据Apache-2.0许可证定义的,有意提交以包含在作品中的任何贡献,将按照上述方式双授权,不附加任何额外条款或条件。
依赖项
~145KB