*-linux-android 和 *-linux-androideabi

层级: 2

Android 是一个构建于 Linux 内核之上的移动操作系统。

目标维护者

要求

此目标是从宿主环境交叉编译的。开发可以从 源代码树 或使用 Android NDK 完成。

Android 目标支持 std。 生成的二进制文件使用 ELF 文件格式。

NDK/API 更新策略

Rust 将支持最新的长期支持 (LTS) Android 原生开发工具包 (NDK)。 默认情况下,Rust 将支持 NDK 支持的所有 API 级别,但如果认为有必要,可能需要更高的最低 API 级别。

构建目标

要为 Android 构建 Rust 二进制文件,你需要最新 LTS 版本的 Android NDK 的副本。 支持的 Android 目标是

  • aarch64-linux-android
  • arm-linux-androideabi
  • armv7-linux-androideabi
  • i686-linux-android
  • thumbv7neon-linux-androideabi
  • x86_64-linux-android

riscv64-linux-android 目标作为层级 3 目标获得支持。

所有受支持目标的列表可以在这里找到

架构说明

riscv64-linux-android

目前 riscv64-linux-android 目标需要以下架构特性/扩展

  • a (原子操作)
  • d (双精度浮点)
  • c (压缩指令集)
  • f (单精度浮点)
  • m (乘法和除法)
  • v (向量)
  • Zba (地址计算指令)
  • Zbb (基本指令)
  • Zbs (单比特指令)

在 Nightly 编译器上的 aarch64-linux-android

一旦提供 -Zfixed-x18 编译器标志,通过提供第二个编译器标志 -Zsanitizer=shadow-call-stackShadowCallStack sanitizer 工具也会可用。