自 2026 年起,为了与我们的主干稳定开发模型保持一致,并确保生态系统的平台稳定性,我们将在第 2 季度和第 4 季度将源代码发布到 AOSP。对于构建 AOSP 和向 AOSP 贡献代码,我们建议使用 android-latest-release 而不是 aosp-main。android-latest-release 清单分支将始终引用推送到 AOSP 的最新版本。如需了解详情,请参阅 AOSP 变更。
二进制模块
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
您可以使用 rust_binary 模块类型生成 Rust 二进制文件;例如:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
同样,您也可以使用 rust_binary_host 提供主机专用模块。
值得注意的 rust_binary 属性
除了重要的通用属性之外,以下属性也很重要,或者具有特定于 rust_binary 模块类型的独有行为:
- static_executable:将此二进制文件构建为静态二进制文件,并且表示
prefer_rlib 为 true。只能为 Bionic 目标生成完全静态的可执行文件。对于非 Bionic 目标,这仅意味着 prefer_rlib 为 true,但仍动态关联 libc 和 libdl。
- prefer_rlib:将
rustlibs 关联更改为在默认情况下为设备目标选择 rlib 关联,并关联 libstd 作为设备目标上的 rlib。请注意,这是主机目标的默认行为,并且对主机目标没有影响。
关联
默认情况下,以设备为目标的 rust_binary 模块始终动态关联到 libstd,并默认为 rustlibs 中列出的依赖项优先使用 dylib 库,除非 prefer_rlib 为 true。如果需要完全静态的二进制文件,请参阅 static_executable 属性。
主机模块始终静态关联到 libstd,并默认 rustlibs 中列出的依赖项优先使用 rlib 库。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-04-04。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-04-04。"],[],[]]