21 个版本
0.2.3 | 2022年9月12日 |
---|---|
0.2.2 | 2022年8月30日 |
0.1.19 | 2022年8月10日 |
0.1.7 | 2022年7月28日 |
0.1.2 | 2022年1月9日 |
#377 in 游戏开发
用于 crossbundle
80KB
1K SLoC
什么是Crossbow?
crossbow
项目旨在为在 Rust 中进行跨平台游戏开发提供一个完整的工具包,从项目创建到发布。此外,该项目简化了 Android 和 iOS 应用的创建、打包和签名。我们希望尽可能多的工具——引擎无关——帮助 Rust 游戏开发者将它们集成到他们的引擎或游戏中。
为什么选择Crossbow?
已经存在 cargo-apk、cargo-mobile、cargo-xcode 等工具——为什么还需要另一个打包工具?
项目 crossbow
不仅是一个 Android 和 iOS 的打包工具,它还是跨平台构建工具、插件和工具包!使用 crossbundle
,您可以在没有 Java 或设置任何 Gradle 项目的情况下,使用花哨的 Crossbow Android 插件(未来将支持 iOS);使用 crossbundle-tools
,您可以自定义并创建新的命令;使用 crossbow-android
,您可以用 Java/Kotlin 编写您自己的 Android 插件。
许多功能受到了 Godot、Xamarin 和 cargo-apk 的启发。
设计目标
- 可定制:使用现有工具创建新命令。
- 简单:易于安装并开始开发,同时对于高级开发者来说也非常灵活。
- 灵活:可以构建纯 .apk/.aab 或 .app/.ipa;或者使用 Gradle/XCode 的帮助。
- Rust:不要离开您的 Rust 代码——一切 都可以通过
Cargo.toml
进行配置。 - 插件:类似于 Godot 的 Android(未来将支持 iOS)插件,带有 Rust 包装器!
文档
现在我们建议您阅读crossbow的文档。在那里您将找到如何设置开发环境、安装所需的crate以及如何使用工具。
项目结构
Crossbundle crate
名称 | 描述 | 状态 |
---|---|---|
crossbundle | 用于构建和运行应用程序的命令行工具。 | ✅ |
crossbundle-tools | 在crossbundle 中用于构建/打包/签名bundle的工具包。 |
✅ |
Crossbow平台crate
名称 | 描述 | 状态 |
---|---|---|
crossbow-android | Crossbow Android平台实现。 | 🆗 |
crossbow-ios | Crossbow iOS平台实现。 | 🛠 |
Crossbow插件
名称 | 描述 | 状态 |
---|---|---|
admob-android | Google AdMob的Android插件。 | 🆗 |
play-games-services | Google Play Games Services的Android插件。 | 🆗 |
play-billing | Google Play Billing的Android插件。 | 🆗 |
play-core | Google Play Core的Android插件。 | 📝 |
辅助crate
名称 | 描述 | 状态 |
---|---|---|
android-tools-rs | 用于构建和开发应用程序的Android相关工具。 | ✅ |
android-manifest-rs | AndroidManifest的Rust序列化和反序列化器。 | ✅ |
apple-bundle-rs | AppleBundleResources的Rust序列化和反序列化器。 | ✅ |
✅ = 工作并已测试 — 🆗 = 工作但可能包含错误 — 🛠 = 开发中 — 📝 = 规划中
特别感谢
此外,该项目最初由Web3 Foundation Grants Program资助。向他们大声说谢谢!
许可
许可方式为以下之一
- Apache License, Version 2.0, (LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT或https://open-source.org.cn/licenses/MIT)
任选其一。
依赖
~0.5-8MB
~63K SLoC