在 Android 中使用 Rust:修复问题且快速推进
去年时候,Google 安全团队曾撰文:将内存安全策略聚焦于新代码中的漏洞预防,能带来持久且不断累积的安全收益。今年团队在回顾的时候,发现这一策略不仅仅“修复问题”,还在帮助团队“更快前进”。2025 年的数据继续验证了这一方法的有效性:内存安全漏洞首次降至总漏洞数的 20% 以下。

上图展示了截至 2025 年的数据,覆盖了 Android 平台中由 Google 和第三方贡献的 C、C++、Java、Kotlin 和 Rust 代码变更。虽然本文发布于 2025 年结束前两个月,但由于 Android 遵循业界标准的 90 天补丁窗口机制,这些结果很可能已接近最终状态。如有必要,仍会加速修补。
总结一下,在 Android 中采用 Rust:
- 安全性大幅提升:相比 C/C++,Rust 的内存安全漏洞密度降低了超过 1000 倍(Rust:约 0.2 个漏洞/百万行;C/C++:约 1000 个/百万行)
- 开发效率更高:
- Rust 代码审查时间减少 25%
- 所需修改轮次减少约 20%
- 回滚率降低 4 倍,意味着变更更稳定、对团队干扰更少
- Rust 使用量激增:新增 Rust 代码量已与 C++ 相当,成为 Android 系统开发的主力语言之一
- 纵深防御依然重要:内存安全语言只是全面内存安全策略的一部分,纵深防御依然重要
unsafeRust 并非高危:虽然约 4% 的 Rust 代码使用unsafe,但实证表明其风险远低于 C/C++,且团队正通过培训加强安全实践
原文:https://security.googleblog.com/2025/11/rust-in-android-move-fast-fix-things.html
Apate: 一个 API 模拟服务器

Apate 是一个用 Rust 编写的 API 模拟(mocking)服务器,主要用于 集成测试和端到端测试。
核心功能
- API 模拟:通过配置文件(TOML 格式)定义模拟的 API 端点、请求匹配规则和响应内容
- 灵活的配置方式:支持通过环境变量配置服务器
- 支持命令行参数
- 提供 Web UI
- 动态配置 :运行时可通过 API 动态修改、追加或配置
- 自定义处理:支持注册自定义处理器(Processors),用于在请求 / 响应过程中执行额外逻辑
- 测试集成:可作为 Rust 测试库使用,方便在单元测试中启动模拟服务器。
Github: https://github.com/rustrum/apate
nail-parquet: 一个高效的 CLI 数据处理工具

nail-parquet 是一个高性能的命令行数据处理工具,旨在提供快速的数据分析、转换和探索能力。该工具基于 Rust 语言开发,结合了 Apache Arrow 和 DataFusion 技术,能够高效处理 Parquet、CSV、JSON 和 Excel 等多种格式的文件。
核心特点
- 高性能处理:利用 Apache Arrow 和 DataFusion 技术,可在秒级处理 GB 级数据集
- 多格式支持:兼容 Parquet、CSV、JSON 和 Excel 等多种数据格式
- 丰富的数据操作:提供检查、统计、过滤、采样、转换等全面的数据处理功能
- 数据质量工具:包含搜索、去重、大小分析、缺失值处理等功能
- 高级功能:支持连接 (joins)、合并 (unions)、模式操作、分层采样等
- 文件优化:提供压缩、排序和编码功能以提升性能
- 灵活输出:支持控制台显示或多种格式的文件输出
适用场景
- Parquet 文件查看器 - 无需 Spark 或 Pandas 即可快速检查和探索数据
- CSV 到 Parquet 转换器 - 带自动压缩的快速格式转换
- Excel 数据分析 - 无需 Excel 或 LibreOffice 即可分析 .xlsx 文件
- 命令行数据科学 - 适用于 SSH 环境和自动化脚本
- 离线数据工具 - 无需云服务或服务器依赖,完全离线工作
- ETL 管道 - 在 shell 脚本和 CI/CD 中转换和验证数据
- 数据质量检查 - 快速验证模式、检测异常值、查找重复项
- 大型文件处理 - 处理会导致电子表格工具崩溃的 GB 级数据集
Github: https://github.com/Vitruves/nail-parquet
--
From 日报小组 Yuan YQ
社区学习交流平台订阅:
评论区
写评论还没有评论