*-linux-android 和 *-linux-androideabi
层级: 2
Android 是一个构建于 Linux 内核之上的移动操作系统。
目标维护者
- Chris Wailes (@chriswailes)
- Matthew Maurer (@maurer)
- Martin Geisler (@mgeisler)
要求
此目标是从宿主环境交叉编译的。开发可以从 源代码树 或使用 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-stack
,ShadowCallStack
sanitizer 工具也会可用。