#mobile #android #ios #cargo #tauri #run-command

bin+lib cargo-mobile2

Rust 移动开发变得简单!

22 个版本 (8 个重大更改)

0.14.0 2024 年 8 月 23 日
0.13.0 2024 年 7 月 31 日
0.11.1 2024 年 3 月 26 日
0.9.1 2023 年 12 月 27 日
0.9.0 2023 年 11 月 14 日

Cargo 插件 中排名 57

Download history 695/week @ 2024-05-03 614/week @ 2024-05-10 626/week @ 2024-05-17 1239/week @ 2024-05-24 837/week @ 2024-05-31 789/week @ 2024-06-07 528/week @ 2024-06-14 519/week @ 2024-06-21 749/week @ 2024-06-28 646/week @ 2024-07-05 709/week @ 2024-07-12 645/week @ 2024-07-19 1102/week @ 2024-07-26 1461/week @ 2024-08-02 1893/week @ 2024-08-09 1774/week @ 2024-08-16

每月下载量 6,357

Apache-2.0 OR MIT

575KB
16K SLoC

包含 (JAR 文件,60KB) gradle-wrapper.jar

cargo-mobile2

“如何在 iOS 和 Android 上使用 Rust?”的答案

cargo-mobile 负责生成 Xcode 和 Android Studio 项目文件,构建和运行在设备上,生成项目模板,以及其他一些事情!

该项目是基于 cargo-mobile 的分支。Tauri 使用它作为库依赖项,而不是直接使用其 CLI。有关更多信息,请访问 Tauri 的移动指南

同时,cargo-mobile2 包含了 wry 的模板,如果您想使用它,请遵循 wry 的说明

安装

构建可能需要一些时间,所以您可以随意去吃点东西或做其他事情。

cargo install --git https://github.com/tauri-apps/cargo-mobile2

cargo-mobile2 目前支持 macOS、Linux 和 Windows。请注意,除 macOS 以外,无法在平台 targeting iOS!无论如何,您仍然可以 targeting Android。

您需要安装 Xcode 和 Android SDK/NDK。将来这部分可能会自动化,或者至少我们会提供有用的指南和诊断。

无论何时您想更新

cargo mobile update

用法

要开始一个新项目,您只需创建一个有可爱名字的目录,cd 进入它,然后运行此命令

cargo mobile init

在几个简单的提示之后,您将需要选择一个模板包。模板包用于生成项目模板,例如使用 wry 模板包将为您提供在桌面和移动上都可以直接运行的 wry 项目。

名称 信息
wry 最小的 wry 项目
egui 完整的egui + winit + wgpu示例,基于agdk-egui示例

欢迎贡献模板包

注意

对于现在可用的所有模板,目前bevy模板无法正常工作,如果尝试构建项目将会遇到编译错误。

生成项目后,可以像往常一样运行cargo run来在桌面端运行您的应用程序。然而,现在您也可以使用cargo apple runcargo android run在相应的iOS和Android设备上运行!

如果您更喜欢在常规IDE中工作,可以使用cargo apple opencargo android open分别将项目打开在Xcode和Android Studio中。

要获取更多命令,请运行cargo mobilecargo applecargo android以查看帮助信息。

Android

cargo android run将构建、安装并运行应用程序,并跟随应用程序输出的设备日志。

默认情况下,将显示警告和错误日志。可以通过使用-v-vv选项显示更多详细程度更高的日志。这些选项也为构建和安装步骤提供了更多详细的日志。

要细粒度控制日志,请使用--filter(或-f)选项,它接受Android日志级别,例如debug。此选项覆盖了由-v-vv设置的默认设备日志级别。

如果使用android_logger crate来处理Rust日志消息,Rust的trace日志将映射到Android的verbose日志。

依赖项

~15–60MB
~1M SLoC