#android-ndk #android #cargo-build #ndk #build #cargo

app cargo-xdk

简化为 Android 构建 Rust 库

4 个稳定版本

2.12.6 2023年2月14日
2.10.1 2022年7月25日
2.7.0 2022年3月22日
2.5.0 2022年2月10日

#381Cargo 插件

每月 28 次下载

Apache-2.0 OR MIT

33KB
745

cargo-xdk - 为 Android 构建 Rust 代码

CI Minimum supported Rust version: 1.56

此 cargo 扩展处理从 Rust 代码库成功构建 Android 库所需的所有环境配置,支持生成正确的 jniLibs 目录结构。

安装

cargo install cargo-xdk

您还需要安装您打算使用的所有工具链。最简单的方法是使用以下命令

rustup target add \
    aarch64-linux-android \
    armv7-linux-androideabi \
    x86_64-linux-android \
    i686-linux-android

根据您的使用情况修改。

用法

如果您已将 NDK 安装到 Android Studio 的默认位置,cargo ndk 将自动检测最新的 NDK 版本并使用它。这可以通过在 ANDROID_NDK_HOME 环境变量中指定 NDK 根目录的路径来覆盖。

示例:为 32 位和 64 位 ARM 系统构建库

cargo ndk -t armeabi-v7a -t arm64-v8a -o ./jniLibs build --release 

这指定了要构建的 Android 目标、用于放置 Android 预期布局中的 .so 文件的输出目录,然后是将传递给 cargo 的普通标志。

Example

支持的主机

  • Linux
  • macOS (x86_64 和 arm64)
  • Windows

为什么不使用 cargo-ndk?

此项目只是 cargo-ndk 的分支;但作者拒绝添加功能,例如 #43,所以我重新发布了它。

本地开发

git clone 然后使用 cargo 安装包

cargo install --path .

类似的项目

  • cargo-cocoapods - 用于构建所有 Apple 平台的 .a 文件,并为 CocoaPods 打包

许可

此项目受以下任一许可的约束

依赖项

~5–15MB
~169K SLoC