Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tardyp/awesome-aosp-rust

rust libraries available in aosp
https://github.com/tardyp/awesome-aosp-rust

List: awesome-aosp-rust

Last synced: about 1 month ago
JSON representation

rust libraries available in aosp

Awesome Lists containing this project

README

        

# Intro

List of rust libraries, currated by AOSP rust developers.
Script available in this repo finds the rust libraries in a aosp tree, sorted by crates.io categories
End of the file, you can also find the list of aosp component written in rust along with the open source libraries that they use

# Contents

## available crates sorted by categories

- [API bindings](#api-bindings)
- [Algorithms](#algorithms)
- [Asynchronous](#asynchronous)
- [Command-line interface](#command-line-interface)
- [Compression](#compression)
- [Concurrency](#concurrency)
- [Cryptography](#cryptography)
- [Data structures](#data-structures)
- [Database interfaces](#database-interfaces)
- [Date and time](#date-and-time)
- [Development tools](#development-tools)
- [Development tools::Build Utils](#development-toolsbuild-utils)
- [Development tools::Debugging](#development-toolsdebugging)
- [Development tools::FFI](#development-toolsffi)
- [Development tools::Procedural macro helpers](#development-toolsprocedural-macro-helpers)
- [Development tools::Profiling](#development-toolsprofiling)
- [Development tools::Testing](#development-toolstesting)
- [Embedded development](#embedded-development)
- [Emulators](#emulators)
- [Encoding](#encoding)
- [External FFI bindings](#external-ffi-bindings)
- [Filesystem](#filesystem)
- [Game engines](#game-engines)
- [Hardware support](#hardware-support)
- [Memory management](#memory-management)
- [Network programming](#network-programming)
- [Operating systems](#operating-systems)
- [Operating systems::Unix APIs](#operating-systemsunix-apis)
- [Parser implementations](#parser-implementations)
- [Parsing tools](#parsing-tools)
- [Rendering::Graphics APIs](#renderinggraphics-apis)
- [Rust patterns](#rust-patterns)
- [Science](#science)
- [Template engine](#template-engine)
- [Text processing](#text-processing)
- [Value formatting](#value-formatting)
- [Visualization](#visualization)
- [Web programming](#web-programming)
- [WebAssembly](#webassembly)

## [AOSP rust components](#rust-components-found-in-aosp)

# Crates

## API bindings

### android_logger

A logging implementation for `log` which hooks to android log output.

- https://crates.io/crates/android_logger
- https://github.com/Nercury/android_logger-rs

21 uses

- [device/google/cuttlefish/guest/hals/keymint/rust](https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/guest/hals/keymint/rust)
- [hardware/interfaces/security/dice/aidl/default](https://cs.android.com/android/platform/superproject/+/master:hardware/interfaces/security/dice/aidl/default)
- [packages/modules/Bluetooth/system/gd/rust/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/common)
- [packages/modules/Virtualization/authfs](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs)
- [packages/modules/Virtualization/authfs/fd_server](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/fd_server)
- [packages/modules/Virtualization/authfs/service](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/service)
- [packages/modules/Virtualization/authfs/tests/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/tests/common)
- [packages/modules/Virtualization/compos](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos)
- [packages/modules/Virtualization/compos/composd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd)
- [packages/modules/Virtualization/compos/verify](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/verify)
- [packages/modules/Virtualization/encryptedstore](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/encryptedstore)
- [packages/modules/Virtualization/rialto](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/rialto)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)
- [packages/modules/Virtualization/vm_payload](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm_payload)
- [packages/modules/Virtualization/vmbase/example](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmbase/example)
- [system/core/trusty/keymint](https://cs.android.com/android/platform/superproject/+/master:system/core/trusty/keymint)
- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)
- [system/logging/rust](https://cs.android.com/android/platform/superproject/+/master:system/logging/rust)
- [system/security/diced](https://cs.android.com/android/platform/superproject/+/master:system/security/diced)
- [system/security/keystore2](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2)
- [system/security/keystore2/selinux](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/selinux)

### flate2

DEFLATE compression and decompression exposed as Read/BufRead/Write streams.
Supports miniz_oxide and multiple zlib implementations. Supports zlib, gzip,
and raw deflate streams.

- https://crates.io/crates/flate2
- https://docs.rs/flate2
- https://github.com/rust-lang/flate2-rs

### jni

Rust bindings to the JNI

- https://crates.io/crates/jni
- https://docs.rs/jni
- https://github.com/jni-rs/jni-rs

2 uses

- [packages/modules/Uwb/indev_uwb_adaptation](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Uwb/indev_uwb_adaptation)
- [packages/modules/Uwb/service/uci/jni](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Uwb/service/uci/jni)

### libloading

Bindings around the platform's dynamic library loading primitives with greatly improved memory safety.

- https://crates.io/crates/libloading
- https://docs.rs/libloading/
- https://github.com/nagisa/rust_libloading/

### openssl

OpenSSL bindings

- https://crates.io/crates/openssl
- https://github.com/sfackler/rust-openssl

6 uses

- [packages/modules/Virtualization/authfs](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs)
- [packages/modules/Virtualization/authfs/src/fsverity/metadata](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/src/fsverity/metadata)
- [packages/modules/Virtualization/libs/apkverify](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/apkverify)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [system/keymint/boringssl](https://cs.android.com/android/platform/superproject/+/master:system/keymint/boringssl)
- [system/security/keystore2/tests](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests)

## Algorithms

### ahash

A non-cryptographic hash function using AES-NI for high performance

- https://crates.io/crates/ahash
- https://docs.rs/ahash
- https://github.com/tkaitchuck/ahash

### crossbeam-channel

Multi-producer multi-consumer channels for message passing

- https://crates.io/crates/crossbeam-channel
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-channel

### crossbeam-deque

Concurrent work-stealing deque

- https://crates.io/crates/crossbeam-deque
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-deque

### crossbeam-utils

Utilities for concurrent programming

- https://crates.io/crates/crossbeam-utils
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils

### fallible-iterator

Fallible iterator traits

- https://crates.io/crates/fallible-iterator
- https://github.com/sfackler/rust-fallible-iterator

### fxhash

A fast, non-secure, hashing algorithm derived from an internal hasher used in FireFox and Rustc.

- https://crates.io/crates/fxhash
- https://docs.rs/fxhash
- https://github.com/cbreeden/fxhash

### itertools

Extra iterator adaptors, iterator methods, free functions, and macros.

- https://crates.io/crates/itertools
- https://docs.rs/itertools/
- https://github.com/rust-itertools/itertools

### num-bigint

Big integer implementation for Rust

- https://crates.io/crates/num-bigint
- https://docs.rs/num-bigint
- https://github.com/rust-num/num-bigint

### num-integer

Integer traits and functions

- https://crates.io/crates/num-integer
- https://docs.rs/num-integer
- https://github.com/rust-num/num-integer

### num-traits

Numeric traits for generic mathematics

- https://crates.io/crates/num-traits
- https://docs.rs/num-traits
- https://github.com/rust-num/num-traits

### oorandom

A tiny, robust PRNG implementation.

- https://crates.io/crates/oorandom
- https://sr.ht/~icefox/oorandom/

### rand

Random number generators and other randomness functionality.

- https://crates.io/crates/rand
- https://docs.rs/rand
- https://github.com/rust-random/rand
- https://rust-random.github.io/book

5 uses

- [packages/modules/Bluetooth/tools/rootcanal/lmp](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/rootcanal/lmp)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [packages/modules/Virtualization/vm](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm)
- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)
- [system/security/keystore2](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2)

### rand_chacha

ChaCha random number generator

- https://crates.io/crates/rand_chacha
- https://docs.rs/rand_chacha
- https://github.com/rust-random/rand
- https://rust-random.github.io/book

### rand_core

Core random number generator traits and tools for implementation.

- https://crates.io/crates/rand_core
- https://docs.rs/rand_core
- https://github.com/rust-random/rand
- https://rust-random.github.io/book

### rand_xorshift

Xorshift random number generator

- https://crates.io/crates/rand_xorshift
- https://docs.rs/rand_xorshift
- https://github.com/rust-random/rngs
- https://rust-random.github.io/book

## Asynchronous

### async-trait

Type erasure for async trait methods

- https://crates.io/crates/async-trait
- https://docs.rs/async-trait
- https://github.com/dtolnay/async-trait

### futures

An implementation of futures and streams featuring zero allocations,
composability, and iterator-like interfaces.

- https://crates.io/crates/futures
- https://github.com/rust-lang/futures-rs
- https://rust-lang.github.io/futures-rs

7 uses

- [packages/modules/Bluetooth/system/gd/rust/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/common)
- [packages/modules/Bluetooth/system/gd/rust/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/facade)
- [packages/modules/Bluetooth/system/gd/rust/shim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/shim)
- [packages/modules/Bluetooth/system/gd/rust/stack](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/stack)
- [packages/modules/Bluetooth/system/gd/rust/topshim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim)
- [packages/modules/Bluetooth/system/gd/rust/topshim/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/facade)
- [system/security/keystore2](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2)

### grpcio

The rust language implementation of gRPC, base on the gRPC c core library.

- https://crates.io/crates/grpcio
- https://docs.rs/grpcio
- https://github.com/tikv/grpc-rs

5 uses

- [packages/modules/Bluetooth/system/gd/rust/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/common)
- [packages/modules/Bluetooth/system/gd/rust/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/facade)
- [packages/modules/Bluetooth/system/gd/rust/stack](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/stack)
- [packages/modules/Bluetooth/system/gd/rust/topshim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim)
- [packages/modules/Bluetooth/system/gd/rust/topshim/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/facade)

### mio

Lightweight non-blocking IO

- https://crates.io/crates/mio
- https://github.com/tokio-rs/mio

### tokio

An event-driven, non-blocking I/O platform for writing asynchronous I/O
backed applications.

- https://crates.io/crates/tokio
- https://github.com/tokio-rs/tokio
- https://tokio.rs

14 uses

- [packages/modules/Bluetooth/system/gd/rust/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/common)
- [packages/modules/Bluetooth/system/gd/rust/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/facade)
- [packages/modules/Bluetooth/system/gd/rust/gddi](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/gddi)
- [packages/modules/Bluetooth/system/gd/rust/shim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/shim)
- [packages/modules/Bluetooth/system/gd/rust/stack](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/stack)
- [packages/modules/Bluetooth/system/gd/rust/topshim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim)
- [packages/modules/Bluetooth/system/gd/rust/topshim/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/facade)
- [packages/modules/Uwb/indev_uwb_adaptation](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Uwb/indev_uwb_adaptation)
- [packages/modules/Uwb/service/uci/jni](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Uwb/service/uci/jni)
- [system/nfc/src/rust](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust)
- [system/nfc/src/rust/rootcanal](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust/rootcanal)
- [system/nfc/src/rust/test](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust/test)
- [system/security/prng_seeder](https://cs.android.com/android/platform/superproject/+/master:system/security/prng_seeder)
- [system/tools/aidl](https://cs.android.com/android/platform/superproject/+/master:system/tools/aidl)

### tokio-macros

Tokio's proc macros.

- https://crates.io/crates/tokio-macros
- https://github.com/tokio-rs/tokio
- https://tokio.rs

### tokio-stream

Utilities to work with `Stream` and `tokio`.

- https://crates.io/crates/tokio-stream
- https://github.com/tokio-rs/tokio
- https://tokio.rs

### tokio-test

Testing utilities for Tokio- and futures-based code

- https://crates.io/crates/tokio-test
- https://docs.rs/tokio-test/0.4.2/tokio_test
- https://github.com/tokio-rs/tokio
- https://tokio.rs

## Command-line interface

### clap

A simple to use, efficient, and full-featured Command Line Argument Parser

- https://crates.io/crates/clap
- https://github.com/clap-rs/clap

18 uses

- [device/google/cuttlefish/host/commands/append_squashfs_overlay](https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/host/commands/append_squashfs_overlay)
- [packages/modules/Bluetooth/system/gd/rust/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/facade)
- [packages/modules/Bluetooth/system/gd/rust/topshim/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/facade)
- [packages/modules/Bluetooth/tools/pdl](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/pdl)
- [packages/modules/Virtualization/apkdmverity](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/apkdmverity)
- [packages/modules/Virtualization/authfs](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs)
- [packages/modules/Virtualization/authfs/fd_server](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/fd_server)
- [packages/modules/Virtualization/authfs/tests/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/tests/common)
- [packages/modules/Virtualization/avmd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/avmd)
- [packages/modules/Virtualization/compos/composd_cmd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd_cmd)
- [packages/modules/Virtualization/compos/verify](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/verify)
- [packages/modules/Virtualization/encryptedstore](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/encryptedstore)
- [packages/modules/Virtualization/microdroid/initrd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid/initrd)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)
- [packages/modules/Virtualization/vm](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm)
- [packages/modules/Virtualization/zipfuse](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/zipfuse)
- [system/security/prng_seeder](https://cs.android.com/android/platform/superproject/+/master:system/security/prng_seeder)
- [system/tools/aidl/scripts/redundancy_check](https://cs.android.com/android/platform/superproject/+/master:system/tools/aidl/scripts/redundancy_check)

### clap_derive

Parse command line argument by defining a struct, derive crate.

- https://crates.io/crates/clap_derive
- https://github.com/clap-rs/clap/tree/master/clap_derive

### clap_lex

Minimal, flexible command line parser

- https://crates.io/crates/clap_lex
- https://github.com/clap-rs/clap/tree/master/clap_lex

### os_str_bytes

Convert between byte sequences and platform-native strings

- https://crates.io/crates/os_str_bytes
- https://github.com/dylni/os_str_bytes

### shlex

Split a string into shell words, like Python's shlex.

- https://crates.io/crates/shlex
- https://github.com/comex/rust-shlex

### structopt

Parse command line argument by defining a struct.

- https://crates.io/crates/structopt
- https://docs.rs/structopt
- https://github.com/TeXitoi/structopt

### structopt-derive

Parse command line argument by defining a struct, derive crate.

- https://crates.io/crates/structopt-derive
- https://docs.rs/structopt-derive
- https://github.com/TeXitoi/structopt

### textwrap

Powerful library for word wrapping, indenting, and dedenting strings

- https://crates.io/crates/textwrap
- https://docs.rs/textwrap/
- https://github.com/mgeisler/textwrap

## Compression

### flate2

DEFLATE compression and decompression exposed as Read/BufRead/Write streams.
Supports miniz_oxide and multiple zlib implementations. Supports zlib, gzip,
and raw deflate streams.

- https://crates.io/crates/flate2
- https://docs.rs/flate2
- https://github.com/rust-lang/flate2-rs

### libz-sys

Low-level bindings to the system libz library (also known as zlib).

- https://crates.io/crates/libz-sys
- https://github.com/rust-lang/libz-sys

## Concurrency

### crossbeam-channel

Multi-producer multi-consumer channels for message passing

- https://crates.io/crates/crossbeam-channel
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-channel

### crossbeam-deque

Concurrent work-stealing deque

- https://crates.io/crates/crossbeam-deque
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-deque

### crossbeam-epoch

Epoch-based garbage collection

- https://crates.io/crates/crossbeam-epoch
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch

### crossbeam-queue

Concurrent queues

- https://crates.io/crates/crossbeam-queue
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-queue

### crossbeam-utils

Utilities for concurrent programming

- https://crates.io/crates/crossbeam-utils
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils

### lock_api

Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.

- https://crates.io/crates/lock_api
- https://github.com/Amanieu/parking_lot

### parking_lot

More compact and efficient implementations of the standard synchronization primitives.

- https://crates.io/crates/parking_lot
- https://github.com/Amanieu/parking_lot

### parking_lot_core

An advanced API for creating custom synchronization primitives.

- https://crates.io/crates/parking_lot_core
- https://github.com/Amanieu/parking_lot

### rayon

Simple work-stealing parallelism for Rust

- https://crates.io/crates/rayon
- https://docs.rs/rayon/
- https://github.com/rayon-rs/rayon

### rayon-core

Core APIs for Rayon

- https://crates.io/crates/rayon-core
- https://docs.rs/rayon/
- https://github.com/rayon-rs/rayon

## Cryptography

### const-oid

Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard
as defined in ITU X.660, with support for BER/DER encoding/decoding as well as
heapless no_std (i.e. embedded) support

- https://crates.io/crates/const-oid
- https://docs.rs/const-oid
- https://github.com/RustCrypto/formats/tree/master/const-oid

### coset

Set of types for supporting COSE

- https://crates.io/crates/coset
- https://github.com/google/coset

3 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)
- [system/keymint/wire](https://cs.android.com/android/platform/superproject/+/master:system/keymint/wire)

### der

Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules
(DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with
full support for heapless no_std targets

- https://crates.io/crates/der
- https://github.com/RustCrypto/formats/tree/master/der

2 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)

### der_derive

Custom derive support for the `der` crate's `Choice` and `Sequence` traits

- https://crates.io/crates/der_derive
- https://docs.rs/der
- https://github.com/RustCrypto/formats/tree/master/der/derive

### openssl

OpenSSL bindings

- https://crates.io/crates/openssl
- https://github.com/sfackler/rust-openssl

6 uses

- [packages/modules/Virtualization/authfs](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs)
- [packages/modules/Virtualization/authfs/src/fsverity/metadata](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/src/fsverity/metadata)
- [packages/modules/Virtualization/libs/apkverify](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/apkverify)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [system/keymint/boringssl](https://cs.android.com/android/platform/superproject/+/master:system/keymint/boringssl)
- [system/security/keystore2/tests](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests)

### pkcs1

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #1:
RSA Cryptography Specifications Version 2.2 (RFC 8017)

- https://crates.io/crates/pkcs1
- https://github.com/RustCrypto/formats/tree/master/pkcs1

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### pkcs8

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8:
Private-Key Information Syntax Specification (RFC 5208), with additional
support for PKCS#8v2 asymmetric key packages (RFC 5958)

- https://crates.io/crates/pkcs8
- https://github.com/RustCrypto/formats/tree/master/pkcs8

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### ppv-lite86

Implementation of the crypto-simd API for x86

- https://crates.io/crates/ppv-lite86
- https://github.com/cryptocorrosion/cryptocorrosion

### ring

Safe, fast, small crypto using Rust.

- https://briansmith.org/rustdoc/ring/
- https://crates.io/crates/ring
- https://github.com/briansmith/ring

### sec1

Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats
including ASN.1 DER-serialized private keys as well as the
Elliptic-Curve-Point-to-Octet-String encoding

- https://crates.io/crates/sec1
- https://github.com/RustCrypto/formats/tree/master/sec1

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### spki

X.509 Subject Public Key Info (RFC5280) describing public keys as well as their
associated AlgorithmIdentifiers (i.e. OIDs)

- https://crates.io/crates/spki
- https://github.com/RustCrypto/formats/tree/master/spki

2 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)

### webpki

Web PKI X.509 Certificate Verification.

- https://briansmith.org/rustdoc/webpki/
- https://crates.io/crates/webpki
- https://github.com/briansmith/webpki

### x509-cert

Pure Rust implementation of the X.509 Public Key Infrastructure Certificate
format as described in RFC 5280

- https://crates.io/crates/x509-cert
- https://github.com/RustCrypto/formats/tree/master/x509-cert

### x509-parser

Parser for the X.509 v3 format (RFC 5280 certificates)

- https://crates.io/crates/x509-parser
- https://github.com/rusticata/x509-parser
- https://github.com/rusticata/x509-parser.git

### zeroize

Securely clear secrets from memory with a simple trait built on
stable Rust primitives which guarantee memory is zeroed using an
operation will not be 'optimized away' by the compiler.
Uses a portable pure Rust implementation that works everywhere,
even WASM!

- https://crates.io/crates/zeroize
- https://github.com/RustCrypto/utils/tree/master/zeroize

2 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/wire](https://cs.android.com/android/platform/superproject/+/master:system/keymint/wire)

### zeroize_derive

Custom derive support for zeroize

- https://crates.io/crates/zeroize_derive
- https://github.com/RustCrypto/utils/tree/master/zeroize/derive

## Data structures

### ahash

A non-cryptographic hash function using AES-NI for high performance

- https://crates.io/crates/ahash
- https://docs.rs/ahash
- https://github.com/tkaitchuck/ahash

### bytes

Types and traits for working with bytes

- https://crates.io/crates/bytes
- https://github.com/tokio-rs/bytes

### ciborium

serde implementation of CBOR using ciborium-basic

- https://crates.io/crates/ciborium
- https://github.com/enarx/ciborium

6 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/derive](https://cs.android.com/android/platform/superproject/+/master:system/keymint/derive)
- [system/keymint/hal](https://cs.android.com/android/platform/superproject/+/master:system/keymint/hal)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)
- [system/keymint/tests](https://cs.android.com/android/platform/superproject/+/master:system/keymint/tests)
- [system/keymint/wire](https://cs.android.com/android/platform/superproject/+/master:system/keymint/wire)

### ciborium-io

Simplified Read/Write traits for no_std usage

- https://crates.io/crates/ciborium-io/0.2.0
- https://github.com/enarx/ciborium

### ciborium-ll

Low-level CBOR codec primitives

- https://crates.io/crates/ciborium-ll/0.2.0
- https://github.com/enarx/ciborium

### const-oid

Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard
as defined in ITU X.660, with support for BER/DER encoding/decoding as well as
heapless no_std (i.e. embedded) support

- https://crates.io/crates/const-oid
- https://docs.rs/const-oid
- https://github.com/RustCrypto/formats/tree/master/const-oid

### crossbeam-channel

Multi-producer multi-consumer channels for message passing

- https://crates.io/crates/crossbeam-channel
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-channel

### crossbeam-deque

Concurrent work-stealing deque

- https://crates.io/crates/crossbeam-deque
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-deque

### crossbeam-queue

Concurrent queues

- https://crates.io/crates/crossbeam-queue
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-queue

### crossbeam-utils

Utilities for concurrent programming

- https://crates.io/crates/crossbeam-utils
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils

### der

Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules
(DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with
full support for heapless no_std targets

- https://crates.io/crates/der
- https://github.com/RustCrypto/formats/tree/master/der

2 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)

### der_derive

Custom derive support for the `der` crate's `Choice` and `Sequence` traits

- https://crates.io/crates/der_derive
- https://docs.rs/der
- https://github.com/RustCrypto/formats/tree/master/der/derive

### either

The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.

- https://crates.io/crates/either
- https://docs.rs/either/1/
- https://github.com/bluss/either

### half

Half-precision floating point f16 and bf16 types for Rust implementing the IEEE 754-2008 standard binary16 and bfloat16 types.

- https://crates.io/crates/half
- https://github.com/starkat99/half-rs

### hashbrown

A Rust port of Google's SwissTable hash map

- https://crates.io/crates/hashbrown
- https://github.com/rust-lang/hashbrown

### indexmap

A hash table with consistent order and fast iteration.

- https://crates.io/crates/indexmap/1.9.1
- https://docs.rs/indexmap/
- https://github.com/bluss/indexmap

### intrusive-collections

Intrusive collections for Rust (linked list and red-black tree)

- https://crates.io/crates/intrusive-collections
- https://docs.rs/intrusive-collections
- https://github.com/Amanieu/intrusive-rs

### macaddr

MAC address types

- https://crates.io/crates/macaddr
- https://github.com/svartalf/rust-macaddr

1 uses

- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)

### num-bigint

Big integer implementation for Rust

- https://crates.io/crates/num-bigint
- https://docs.rs/num-bigint
- https://github.com/rust-num/num-bigint

### pkcs1

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #1:
RSA Cryptography Specifications Version 2.2 (RFC 8017)

- https://crates.io/crates/pkcs1
- https://github.com/RustCrypto/formats/tree/master/pkcs1

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### pkcs8

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8:
Private-Key Information Syntax Specification (RFC 5208), with additional
support for PKCS#8v2 asymmetric key packages (RFC 5958)

- https://crates.io/crates/pkcs8
- https://github.com/RustCrypto/formats/tree/master/pkcs8

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### sec1

Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats
including ASN.1 DER-serialized private keys as well as the
Elliptic-Curve-Point-to-Octet-String encoding

- https://crates.io/crates/sec1
- https://github.com/RustCrypto/formats/tree/master/sec1

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### semver

Parser and evaluator for Cargo's flavor of Semantic Versioning

- https://crates.io/crates/semver
- https://docs.rs/semver
- https://github.com/dtolnay/semver

2 uses

- [packages/modules/Virtualization/libs/vmconfig](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/vmconfig)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)

### slab

Pre-allocated storage for a uniform data type

- https://crates.io/crates/slab
- https://github.com/tokio-rs/slab

### smallvec

'Small vector' optimization: store up to a small number of items on the stack

- https://crates.io/crates/smallvec
- https://docs.rs/smallvec/
- https://github.com/servo/rust-smallvec

### spki

X.509 Subject Public Key Info (RFC5280) describing public keys as well as their
associated AlgorithmIdentifiers (i.e. OIDs)

- https://crates.io/crates/spki
- https://github.com/RustCrypto/formats/tree/master/spki

2 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)

### tinyvec

`tinyvec` provides 100% safe vec-like data structures.

- https://crates.io/crates/tinyvec
- https://github.com/Lokathor/tinyvec

### uuid

A library to generate and parse UUIDs.

- https://crates.io/crates/uuid
- https://docs.rs/uuid
- https://github.com/uuid-rs/uuid

4 uses

- [packages/modules/Virtualization/apkdmverity](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/apkdmverity)
- [packages/modules/Virtualization/libs/devicemapper](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/devicemapper)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)

### x509-cert

Pure Rust implementation of the X.509 Public Key Infrastructure Certificate
format as described in RFC 5280

- https://crates.io/crates/x509-cert
- https://github.com/RustCrypto/formats/tree/master/x509-cert

## Database interfaces

### rusqlite

Ergonomic wrapper for SQLite

- http://docs.rs/rusqlite/
- https://crates.io/crates/rusqlite
- https://github.com/rusqlite/rusqlite

2 uses

- [system/security/keystore2](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2)
- [system/security/keystore2/legacykeystore](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/legacykeystore)

## Date and time

### chrono

Date and time library for Rust

- https://crates.io/crates/chrono
- https://docs.rs/chrono/
- https://github.com/chronotope/chrono

1 uses

- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)

## Development tools

### document-features

Extract documentation for the feature flags from comments in Cargo.toml

- https://crates.io/crates/document-features
- https://github.com/slint-ui/document-features
- https://slint-ui.com

### paste

Macros for all your token pasting needs

- https://crates.io/crates/paste
- https://github.com/dtolnay/paste

### remain

Compile-time checks that an enum, struct, or match is written in sorted order.

- https://crates.io/crates/remain
- https://docs.rs/remain
- https://github.com/dtolnay/remain

## Development tools::Build Utils

### litrs

Parse and inspect Rust literals (i.e. tokens in the Rust programming language
representing fixed values). Particularly useful for proc macros, but can also
be used outside of a proc-macro context.

- https://crates.io/crates/litrs
- https://docs.rs/litrs/
- https://github.com/LukasKalbertodt/litrs/

### rustversion

Conditional compilation according to rustc compiler version

- https://crates.io/crates/rustversion
- https://docs.rs/rustversion
- https://github.com/dtolnay/rustversion

## Development tools::Debugging

### env_logger

A logging implementation for `log` which is configured via an environment
variable.

- https://crates.io/crates/env_logger
- https://github.com/rust-cli/env_logger/

5 uses

- [device/google/cuttlefish/host/commands/secure_env/rust](https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/host/commands/secure_env/rust)
- [packages/modules/Bluetooth/system/gd/rust/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/common)
- [packages/modules/Virtualization/vm](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm)
- [system/keymint/tests](https://cs.android.com/android/platform/superproject/+/master:system/keymint/tests)
- [system/logging/rust](https://cs.android.com/android/platform/superproject/+/master:system/logging/rust)

### gdbstub

An implementation of the GDB Remote Serial Protocol in Rust

- https://crates.io/crates/gdbstub
- https://docs.rs/gdbstub
- https://github.com/daniel5151/gdbstub

### gdbstub_arch

Implementations of `gdbstub::arch::Arch` for various architectures.

- https://crates.io/crates/gdbstub_arch
- https://docs.rs/gdbstub_arch
- https://github.com/daniel5151/gdbstub

### log

A lightweight logging facade for Rust

- https://crates.io/crates/log
- https://docs.rs/log
- https://github.com/rust-lang/log

## Development tools::FFI

### bindgen

Automatically generates Rust FFI bindings to C and C++ libraries.

- https://crates.io/crates/bindgen
- https://docs.rs/bindgen
- https://github.com/rust-lang/rust-bindgen
- https://rust-lang.github.io/rust-bindgen/

### bindgen-cli

Automatically generates Rust FFI bindings to C and C++ libraries.

- https://crates.io/crates/bindgen-cli
- https://docs.rs/bindgen
- https://github.com/rust-lang/rust-bindgen
- https://rust-lang.github.io/rust-bindgen/

### os_str_bytes

Convert between byte sequences and platform-native strings

- https://crates.io/crates/os_str_bytes
- https://github.com/dylni/os_str_bytes

## Development tools::Procedural macro helpers

### clap_derive

Parse command line argument by defining a struct, derive crate.

- https://crates.io/crates/clap_derive
- https://github.com/clap-rs/clap/tree/master/clap_derive

### litrs

Parse and inspect Rust literals (i.e. tokens in the Rust programming language
representing fixed values). Particularly useful for proc macros, but can also
be used outside of a proc-macro context.

- https://crates.io/crates/litrs
- https://docs.rs/litrs/
- https://github.com/LukasKalbertodt/litrs/

### proc-macro-error

Almost drop-in replacement to panics in proc-macros

- https://crates.io/crates/proc-macro-error
- https://gitlab.com/CreepySkeleton/proc-macro-error

### proc-macro-hack

Procedural macros in expression position

- https://crates.io/crates/proc-macro-hack
- https://github.com/dtolnay/proc-macro-hack

### proc-macro2

A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.

- https://crates.io/crates/proc-macro2
- https://docs.rs/proc-macro2
- https://github.com/dtolnay/proc-macro2

### quote

Quasi-quoting macro quote!(...)

- https://crates.io/crates/quote
- https://docs.rs/quote/
- https://github.com/dtolnay/quote

4 uses

- [packages/modules/Bluetooth/system/gd/rust/gddi](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/gddi)
- [packages/modules/Bluetooth/system/gd/rust/topshim/macros](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/macros)
- [packages/modules/Bluetooth/tools/pdl](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/pdl)
- [system/keymint/derive](https://cs.android.com/android/platform/superproject/+/master:system/keymint/derive)

### syn

Parser for Rust source code

- https://crates.io/crates/syn
- https://docs.rs/syn
- https://github.com/dtolnay/syn

4 uses

- [packages/modules/Bluetooth/system/gd/rust/gddi](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/gddi)
- [packages/modules/Bluetooth/system/gd/rust/topshim/macros](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/macros)
- [packages/modules/Bluetooth/tools/pdl](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/pdl)
- [system/keymint/derive](https://cs.android.com/android/platform/superproject/+/master:system/keymint/derive)

### syn-mid

Providing the features between "full" and "derive" of syn.

- https://crates.io/crates/syn-mid
- https://docs.rs/syn-mid
- https://github.com/taiki-e/syn-mid

### unicode-ident

Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31

- https://crates.io/crates/unicode-ident
- https://docs.rs/unicode-ident
- https://github.com/dtolnay/unicode-ident

## Development tools::Profiling

### bencher

A port of the libtest (unstable Rust) benchmark runner to Rust stable releases. Supports running benchmarks and filtering based on the name. Benchmark execution works exactly the same way and no more (caveat: black_box is still missing!).

- https://crates.io/crates/bencher
- https://docs.rs/bencher/
- https://github.com/bluss/bencher/

### criterion

Statistics-driven micro-benchmarking library

- https://bheisler.github.io/criterion.rs/book/index.html
- https://crates.io/crates/criterion
- https://github.com/bheisler/criterion.rs

## Development tools::Testing

### arbitrary

The trait for generating structured data from unstructured data

- https://crates.io/crates/arbitrary
- https://docs.rs/arbitrary/
- https://github.com/rust-fuzz/arbitrary/

2 uses

- [system/librustutils](https://cs.android.com/android/platform/superproject/+/master:system/librustutils)
- [system/security/keystore2/src/fuzzers](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/src/fuzzers)

### derive_arbitrary

Derives arbitrary traits

- https://crates.io/crates/derive_arbitrary
- https://docs.rs/arbitrary/
- https://github.com/rust-fuzz/arbitrary

### quickcheck

Automatic property based testing with shrinking.

- https://crates.io/crates/quickcheck
- https://docs.rs/quickcheck
- https://github.com/BurntSushi/quickcheck

### serde_test

Token De/Serializer for testing De/Serialize implementations

- https://crates.io/crates/serde_test
- https://docs.rs/serde_test
- https://github.com/serde-rs/serde
- https://serde.rs

### static_assertions

Compile-time assertions to ensure that invariants are met.

- https://crates.io/crates/static_assertions
- https://docs.rs/static_assertions/
- https://github.com/nvzqz/static-assertions-rs

## Embedded development

### aarch64-paging

A library to manipulate AArch64 VMSA EL1 page tables.

- https://crates.io/crates/aarch64-paging
- https://github.com/google/aarch64-paging

### ciborium

serde implementation of CBOR using ciborium-basic

- https://crates.io/crates/ciborium
- https://github.com/enarx/ciborium

6 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/derive](https://cs.android.com/android/platform/superproject/+/master:system/keymint/derive)
- [system/keymint/hal](https://cs.android.com/android/platform/superproject/+/master:system/keymint/hal)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)
- [system/keymint/tests](https://cs.android.com/android/platform/superproject/+/master:system/keymint/tests)
- [system/keymint/wire](https://cs.android.com/android/platform/superproject/+/master:system/keymint/wire)

### ciborium-io

Simplified Read/Write traits for no_std usage

- https://crates.io/crates/ciborium-io/0.2.0
- https://github.com/enarx/ciborium

### ciborium-ll

Low-level CBOR codec primitives

- https://crates.io/crates/ciborium-ll/0.2.0
- https://github.com/enarx/ciborium

### gdbstub

An implementation of the GDB Remote Serial Protocol in Rust

- https://crates.io/crates/gdbstub
- https://docs.rs/gdbstub
- https://github.com/daniel5151/gdbstub

### gdbstub_arch

Implementations of `gdbstub::arch::Arch` for various architectures.

- https://crates.io/crates/gdbstub_arch
- https://docs.rs/gdbstub_arch
- https://github.com/daniel5151/gdbstub

### managed

An interface for logically owning objects, whether or not heap allocation is available.

- https://crates.io/crates/managed
- https://docs.rs/managed/
- https://github.com/m-labs/rust-managed
- https://github.com/m-labs/rust-managed.git

### oorandom

A tiny, robust PRNG implementation.

- https://crates.io/crates/oorandom
- https://sr.ht/~icefox/oorandom/

### psci

Functions and constants for the Arm Power State Coordination Interface (PSCI) 1.1 on aarch64.

- https://crates.io/crates/psci
- https://github.com/google/psci

1 uses

- [packages/modules/Virtualization/vmbase](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmbase)

## Emulators

### gdbstub

An implementation of the GDB Remote Serial Protocol in Rust

- https://crates.io/crates/gdbstub
- https://docs.rs/gdbstub
- https://github.com/daniel5151/gdbstub

### gdbstub_arch

Implementations of `gdbstub::arch::Arch` for various architectures.

- https://crates.io/crates/gdbstub_arch
- https://docs.rs/gdbstub_arch
- https://github.com/daniel5151/gdbstub

## Encoding

### base64

encodes and decodes base64 as bytes or utf8

- https://crates.io/crates/base64
- https://docs.rs/base64
- https://github.com/marshallpierce/rust-base64

### bstr

A string type that is not required to be valid UTF-8.

- https://crates.io/crates/bstr
- https://docs.rs/bstr
- https://github.com/BurntSushi/bstr

### byteorder

Library for reading/writing numbers in big-endian and little-endian.

- https://crates.io/crates/byteorder
- https://docs.rs/byteorder
- https://github.com/BurntSushi/byteorder

### ciborium

serde implementation of CBOR using ciborium-basic

- https://crates.io/crates/ciborium
- https://github.com/enarx/ciborium

6 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/derive](https://cs.android.com/android/platform/superproject/+/master:system/keymint/derive)
- [system/keymint/hal](https://cs.android.com/android/platform/superproject/+/master:system/keymint/hal)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)
- [system/keymint/tests](https://cs.android.com/android/platform/superproject/+/master:system/keymint/tests)
- [system/keymint/wire](https://cs.android.com/android/platform/superproject/+/master:system/keymint/wire)

### ciborium-ll

Low-level CBOR codec primitives

- https://crates.io/crates/ciborium-ll/0.2.0
- https://github.com/enarx/ciborium

### const-oid

Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard
as defined in ITU X.660, with support for BER/DER encoding/decoding as well as
heapless no_std (i.e. embedded) support

- https://crates.io/crates/const-oid
- https://docs.rs/const-oid
- https://github.com/RustCrypto/formats/tree/master/const-oid

### csv

Fast CSV parsing with support for serde.

- http://burntsushi.net/rustdoc/csv/
- https://crates.io/crates/csv
- https://github.com/BurntSushi/rust-csv

### csv-core

Bare bones CSV parsing with no_std support.

- https://crates.io/crates/csv-core
- https://docs.rs/csv-core
- https://github.com/BurntSushi/rust-csv

### der

Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules
(DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with
full support for heapless no_std targets

- https://crates.io/crates/der
- https://github.com/RustCrypto/formats/tree/master/der

2 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)

### der_derive

Custom derive support for the `der` crate's `Choice` and `Sequence` traits

- https://crates.io/crates/der_derive
- https://docs.rs/der
- https://github.com/RustCrypto/formats/tree/master/der/derive

### half

Half-precision floating point f16 and bf16 types for Rust implementing the IEEE 754-2008 standard binary16 and bfloat16 types.

- https://crates.io/crates/half
- https://github.com/starkat99/half-rs

### hex

Encoding and decoding data into/from hexadecimal representation.

- https://crates.io/crates/hex
- https://docs.rs/hex/
- https://github.com/KokaKiwi/rust-hex

13 uses

- [device/google/cuttlefish/guest/hals/keymint/rust](https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/guest/hals/keymint/rust)
- [device/google/cuttlefish/host/commands/secure_env/rust](https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/host/commands/secure_env/rust)
- [packages/modules/Virtualization/avmd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/avmd)
- [packages/modules/Virtualization/encryptedstore](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/encryptedstore)
- [packages/modules/Virtualization/libs/apexutil](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/apexutil)
- [packages/modules/Virtualization/libs/apkverify](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/apkverify)
- [packages/modules/Virtualization/libs/devicemapper](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/devicemapper)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/hal](https://cs.android.com/android/platform/superproject/+/master:system/keymint/hal)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)
- [system/keymint/tests](https://cs.android.com/android/platform/superproject/+/master:system/keymint/tests)
- [system/keymint/wire](https://cs.android.com/android/platform/superproject/+/master:system/keymint/wire)

### os_str_bytes

Convert between byte sequences and platform-native strings

- https://crates.io/crates/os_str_bytes
- https://github.com/dylni/os_str_bytes

### pkcs1

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #1:
RSA Cryptography Specifications Version 2.2 (RFC 8017)

- https://crates.io/crates/pkcs1
- https://github.com/RustCrypto/formats/tree/master/pkcs1

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### pkcs8

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8:
Private-Key Information Syntax Specification (RFC 5208), with additional
support for PKCS#8v2 asymmetric key packages (RFC 5958)

- https://crates.io/crates/pkcs8
- https://github.com/RustCrypto/formats/tree/master/pkcs8

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### sec1

Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats
including ASN.1 DER-serialized private keys as well as the
Elliptic-Curve-Point-to-Octet-String encoding

- https://crates.io/crates/sec1
- https://github.com/RustCrypto/formats/tree/master/sec1

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### serde

A generic serialization/deserialization framework

- https://crates.io/crates/serde
- https://docs.rs/serde
- https://github.com/serde-rs/serde
- https://serde.rs

15 uses

- [hardware/interfaces/security/dice/aidl/default](https://cs.android.com/android/platform/superproject/+/master:hardware/interfaces/security/dice/aidl/default)
- [packages/modules/Bluetooth/tools/pdl](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/pdl)
- [packages/modules/Virtualization/avmd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/avmd)
- [packages/modules/Virtualization/libs/apkverify](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/apkverify)
- [packages/modules/Virtualization/libs/vmconfig](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/vmconfig)
- [packages/modules/Virtualization/microdroid/payload/config](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid/payload/config)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)
- [packages/modules/Virtualization/vm](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm)
- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)
- [system/security/diced](https://cs.android.com/android/platform/superproject/+/master:system/security/diced)
- [system/security/keystore2](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2)
- [system/security/keystore2/tests](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests)
- [system/security/keystore2/tests/legacy_blobs](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests/legacy_blobs)
- [system/tools/aidl/scripts/redundancy_check](https://cs.android.com/android/platform/superproject/+/master:system/tools/aidl/scripts/redundancy_check)

### serde_cbor

CBOR support for serde.

- https://crates.io/crates/serde_cbor
- https://github.com/pyfisch/cbor

4 uses

- [packages/modules/Virtualization/avmd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/avmd)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [system/security/diced](https://cs.android.com/android/platform/superproject/+/master:system/security/diced)
- [system/security/keystore2](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2)

### serde_json

A JSON serialization file format

- https://crates.io/crates/serde_json
- https://docs.serde.rs/serde_json/
- https://github.com/serde-rs/json

8 uses

- [packages/modules/Bluetooth/tools/pdl](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/pdl)
- [packages/modules/Virtualization/libs/vmconfig](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/vmconfig)
- [packages/modules/Virtualization/microdroid/payload/config](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid/payload/config)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)
- [packages/modules/Virtualization/vm](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm)
- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)
- [system/tools/aidl/scripts/redundancy_check](https://cs.android.com/android/platform/superproject/+/master:system/tools/aidl/scripts/redundancy_check)

### spki

X.509 Subject Public Key Info (RFC5280) describing public keys as well as their
associated AlgorithmIdentifiers (i.e. OIDs)

- https://crates.io/crates/spki
- https://github.com/RustCrypto/formats/tree/master/spki

2 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)

### unicode-bidi

Implementation of the Unicode Bidirectional Algorithm

- https://crates.io/crates/unicode-bidi
- https://docs.rs/unicode-bidi/
- https://github.com/servo/unicode-bidi

### url

URL library for Rust, based on the WHATWG URL Standard

- https://crates.io/crates/url
- https://docs.rs/url
- https://github.com/servo/rust-url

### x509-cert

Pure Rust implementation of the X.509 Public Key Infrastructure Certificate
format as described in RFC 5280

- https://crates.io/crates/x509-cert
- https://github.com/RustCrypto/formats/tree/master/x509-cert

## External FFI bindings

### android_log-sys

FFI bindings to Android log Library.

- https://crates.io/crates/android_log-sys
- https://docs.rs/android_log-sys
- https://github.com/nercury/android_log-sys-rs

### bindgen

Automatically generates Rust FFI bindings to C and C++ libraries.

- https://crates.io/crates/bindgen
- https://docs.rs/bindgen
- https://github.com/rust-lang/rust-bindgen
- https://rust-lang.github.io/rust-bindgen/

### bindgen-cli

Automatically generates Rust FFI bindings to C and C++ libraries.

- https://crates.io/crates/bindgen-cli
- https://docs.rs/bindgen
- https://github.com/rust-lang/rust-bindgen
- https://rust-lang.github.io/rust-bindgen/

### grpcio-sys

FFI bindings to gRPC c core library

- https://crates.io/crates/grpcio-sys
- https://docs.rs/grpcio-sys
- https://github.com/tikv/grpc-rs

### jni-sys

Rust definitions corresponding to jni.h

- https://crates.io/crates/jni-sys
- https://docs.rs/jni-sys/0.3.0/jni_sys
- https://github.com/sfackler/rust-jni-sys

### libc

Raw FFI bindings to platform libraries like libc.

- https://crates.io/crates/libc
- https://docs.rs/libc/
- https://github.com/rust-lang/libc

### libsqlite3-sys

Native bindings to the libsqlite3 library

- https://crates.io/crates/libsqlite3-sys
- https://github.com/rusqlite/rusqlite

### libz-sys

Low-level bindings to the system libz library (also known as zlib).

- https://crates.io/crates/libz-sys
- https://github.com/rust-lang/libz-sys

## Filesystem

### glob

Support for matching file paths against Unix shell style patterns.

- https://crates.io/crates/glob
- https://docs.rs/glob/0.3.1
- https://github.com/rust-lang/glob

1 uses

- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)

### remove_dir_all

A safe, reliable implementation of remove_dir_all for Windows

- https://crates.io/crates/remove_dir_all
- https://github.com/XAMPPRocky/remove_dir_all.git

### walkdir

Recursively walk a directory.

- https://crates.io/crates/walkdir
- https://docs.rs/walkdir/
- https://github.com/BurntSushi/walkdir

### which

A Rust equivalent of Unix command "which". Locate installed executable in cross platforms.

- https://crates.io/crates/which
- https://docs.rs/which/
- https://github.com/harryfei/which-rs.git

## Game engines

### glam

A simple and fast 3D math library for games and graphics

- https://crates.io/crates/glam
- https://github.com/bitshifter/glam-rs

## Hardware support

### aarch64-paging

A library to manipulate AArch64 VMSA EL1 page tables.

- https://crates.io/crates/aarch64-paging
- https://github.com/google/aarch64-paging

### num_cpus

Get the number of CPUs on a machine.

- https://crates.io/crates/num_cpus
- https://docs.rs/num_cpus
- https://github.com/seanmonstar/num_cpus

2 uses

- [packages/modules/Virtualization/compos/composd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd)
- [system/security/keystore2/selinux](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/selinux)

### psci

Functions and constants for the Arm Power State Coordination Interface (PSCI) 1.1 on aarch64.

- https://crates.io/crates/psci
- https://github.com/google/psci

1 uses

- [packages/modules/Virtualization/vmbase](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmbase)

### virtio-drivers

VirtIO guest drivers.

- https://crates.io/crates/virtio-drivers
- https://github.com/rcore-os/virtio-drivers

## Memory management

### crossbeam-epoch

Epoch-based garbage collection

- https://crates.io/crates/crossbeam-epoch
- https://github.com/crossbeam-rs/crossbeam
- https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch

### lazy_static

A macro for declaring lazily evaluated statics in Rust.

- https://crates.io/crates/lazy_static
- https://docs.rs/lazy_static
- https://github.com/rust-lang-nursery/lazy-static.rs

### once_cell

Single assignment cells and lazy values.

- https://crates.io/crates/once_cell
- https://docs.rs/once_cell
- https://github.com/matklad/once_cell

2 uses

- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)

### slab

Pre-allocated storage for a uniform data type

- https://crates.io/crates/slab
- https://github.com/tokio-rs/slab

### zeroize

Securely clear secrets from memory with a simple trait built on
stable Rust primitives which guarantee memory is zeroed using an
operation will not be 'optimized away' by the compiler.
Uses a portable pure Rust implementation that works everywhere,
even WASM!

- https://crates.io/crates/zeroize
- https://github.com/RustCrypto/utils/tree/master/zeroize

2 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/wire](https://cs.android.com/android/platform/superproject/+/master:system/keymint/wire)

### zeroize_derive

Custom derive support for zeroize

- https://crates.io/crates/zeroize_derive
- https://github.com/RustCrypto/utils/tree/master/zeroize/derive

## Network programming

### bytes

Types and traits for working with bytes

- https://crates.io/crates/bytes
- https://github.com/tokio-rs/bytes

### gdbstub

An implementation of the GDB Remote Serial Protocol in Rust

- https://crates.io/crates/gdbstub
- https://docs.rs/gdbstub
- https://github.com/daniel5151/gdbstub

### grpcio

The rust language implementation of gRPC, base on the gRPC c core library.

- https://crates.io/crates/grpcio
- https://docs.rs/grpcio
- https://github.com/tikv/grpc-rs

5 uses

- [packages/modules/Bluetooth/system/gd/rust/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/common)
- [packages/modules/Bluetooth/system/gd/rust/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/facade)
- [packages/modules/Bluetooth/system/gd/rust/stack](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/stack)
- [packages/modules/Bluetooth/system/gd/rust/topshim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim)
- [packages/modules/Bluetooth/system/gd/rust/topshim/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/facade)

### grpcio-compiler

gRPC compiler for grpcio

- https://crates.io/crates/grpcio-compiler
- https://docs.rs/grpcio-compiler
- https://github.com/tikv/grpc-rs

### grpcio-sys

FFI bindings to gRPC c core library

- https://crates.io/crates/grpcio-sys
- https://docs.rs/grpcio-sys
- https://github.com/tikv/grpc-rs

### macaddr

MAC address types

- https://crates.io/crates/macaddr
- https://github.com/svartalf/rust-macaddr

1 uses

- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)

### octets

Zero-copy abstraction for parsing and constructing network packets

- https://crates.io/crates/octets
- https://github.com/cloudflare/quiche

### quiche

🥧 Savoury implementation of the QUIC transport protocol and HTTP/3

- https://crates.io/crates/quiche
- https://github.com/cloudflare/quiche

### tokio

An event-driven, non-blocking I/O platform for writing asynchronous I/O
backed applications.

- https://crates.io/crates/tokio
- https://github.com/tokio-rs/tokio
- https://tokio.rs

14 uses

- [packages/modules/Bluetooth/system/gd/rust/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/common)
- [packages/modules/Bluetooth/system/gd/rust/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/facade)
- [packages/modules/Bluetooth/system/gd/rust/gddi](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/gddi)
- [packages/modules/Bluetooth/system/gd/rust/shim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/shim)
- [packages/modules/Bluetooth/system/gd/rust/stack](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/stack)
- [packages/modules/Bluetooth/system/gd/rust/topshim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim)
- [packages/modules/Bluetooth/system/gd/rust/topshim/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/facade)
- [packages/modules/Uwb/indev_uwb_adaptation](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Uwb/indev_uwb_adaptation)
- [packages/modules/Uwb/service/uci/jni](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Uwb/service/uci/jni)
- [system/nfc/src/rust](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust)
- [system/nfc/src/rust/rootcanal](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust/rootcanal)
- [system/nfc/src/rust/test](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust/test)
- [system/security/prng_seeder](https://cs.android.com/android/platform/superproject/+/master:system/security/prng_seeder)
- [system/tools/aidl](https://cs.android.com/android/platform/superproject/+/master:system/tools/aidl)

## Operating systems

### getrandom

A small cross-platform library for retrieving random data from system source

- https://crates.io/crates/getrandom
- https://docs.rs/getrandom
- https://github.com/rust-random/getrandom

### libc

Raw FFI bindings to platform libraries like libc.

- https://crates.io/crates/libc
- https://docs.rs/libc/
- https://github.com/rust-lang/libc

### os_str_bytes

Convert between byte sequences and platform-native strings

- https://crates.io/crates/os_str_bytes
- https://github.com/dylni/os_str_bytes

### shared_child

a library for using child processes from multiple threads

- https://crates.io/crates/shared_child
- https://docs.rs/shared_child
- https://github.com/oconnor663/shared_child.rs

4 uses

- [packages/modules/Virtualization/authfs/service](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/service)
- [packages/modules/Virtualization/compos/composd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)
- [packages/modules/Virtualization/vmclient](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmclient)

### which

A Rust equivalent of Unix command "which". Locate installed executable in cross platforms.

- https://crates.io/crates/which
- https://docs.rs/which/
- https://github.com/harryfei/which-rs.git

### zeroize

Securely clear secrets from memory with a simple trait built on
stable Rust primitives which guarantee memory is zeroed using an
operation will not be 'optimized away' by the compiler.
Uses a portable pure Rust implementation that works everywhere,
even WASM!

- https://crates.io/crates/zeroize
- https://github.com/RustCrypto/utils/tree/master/zeroize

2 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/wire](https://cs.android.com/android/platform/superproject/+/master:system/keymint/wire)

### zeroize_derive

Custom derive support for zeroize

- https://crates.io/crates/zeroize_derive
- https://github.com/RustCrypto/utils/tree/master/zeroize/derive

## Operating systems::Unix APIs

### command-fds

A library for passing arbitrary file descriptors when spawning child processes.

- https://crates.io/crates/command-fds
- https://github.com/google/command-fds/

### nix

Rust friendly bindings to *nix APIs

- https://crates.io/crates/nix
- https://github.com/nix-rust/nix

28 uses

- [packages/modules/Bluetooth/system/gd/rust/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/common)
- [packages/modules/Bluetooth/system/gd/rust/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/facade)
- [packages/modules/Bluetooth/system/gd/rust/shim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/shim)
- [packages/modules/Bluetooth/system/gd/rust/topshim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim)
- [packages/modules/Bluetooth/system/gd/rust/topshim/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/facade)
- [packages/modules/Virtualization/apkdmverity](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/apkdmverity)
- [packages/modules/Virtualization/authfs](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs)
- [packages/modules/Virtualization/authfs/fd_server](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/fd_server)
- [packages/modules/Virtualization/authfs/service](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/service)
- [packages/modules/Virtualization/compos](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos)
- [packages/modules/Virtualization/compos/composd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd)
- [packages/modules/Virtualization/encryptedstore](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/encryptedstore)
- [packages/modules/Virtualization/libs/capabilities](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/capabilities)
- [packages/modules/Virtualization/libs/devicemapper](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/devicemapper)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [packages/modules/Virtualization/rialto](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/rialto)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)
- [packages/modules/Virtualization/vmbase/example](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmbase/example)
- [packages/modules/Virtualization/vmclient](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmclient)
- [packages/modules/Virtualization/zipfuse](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/zipfuse)
- [system/core/trusty/libtrusty-rs](https://cs.android.com/android/platform/superproject/+/master:system/core/trusty/libtrusty-rs)
- [system/security/diced](https://cs.android.com/android/platform/superproject/+/master:system/security/diced)
- [system/security/keystore2](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2)
- [system/security/keystore2/selinux](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/selinux)
- [system/security/keystore2/src/crypto](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/src/crypto)
- [system/security/keystore2/tests](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests)
- [system/security/keystore2/tests/legacy_blobs](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests/legacy_blobs)
- [system/security/prng_seeder](https://cs.android.com/android/platform/superproject/+/master:system/security/prng_seeder)

## Parser implementations

### const-oid

Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard
as defined in ITU X.660, with support for BER/DER encoding/decoding as well as
heapless no_std (i.e. embedded) support

- https://crates.io/crates/const-oid
- https://docs.rs/const-oid
- https://github.com/RustCrypto/formats/tree/master/const-oid

### csv

Fast CSV parsing with support for serde.

- http://burntsushi.net/rustdoc/csv/
- https://crates.io/crates/csv
- https://github.com/BurntSushi/rust-csv

### csv-core

Bare bones CSV parsing with no_std support.

- https://crates.io/crates/csv-core
- https://docs.rs/csv-core
- https://github.com/BurntSushi/rust-csv

### der

Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules
(DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with
full support for heapless no_std targets

- https://crates.io/crates/der
- https://github.com/RustCrypto/formats/tree/master/der

2 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)

### der-parser

Parser/encoder for ASN.1 BER/DER data

- https://crates.io/crates/der-parser
- https://github.com/rusticata/der-parser
- https://github.com/rusticata/der-parser.git

### der_derive

Custom derive support for the `der` crate's `Choice` and `Sequence` traits

- https://crates.io/crates/der_derive
- https://docs.rs/der
- https://github.com/RustCrypto/formats/tree/master/der/derive

### litrs

Parse and inspect Rust literals (i.e. tokens in the Rust programming language
representing fixed values). Particularly useful for proc macros, but can also
be used outside of a proc-macro context.

- https://crates.io/crates/litrs
- https://docs.rs/litrs/
- https://github.com/LukasKalbertodt/litrs/

### pkcs1

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #1:
RSA Cryptography Specifications Version 2.2 (RFC 8017)

- https://crates.io/crates/pkcs1
- https://github.com/RustCrypto/formats/tree/master/pkcs1

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### pkcs8

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8:
Private-Key Information Syntax Specification (RFC 5208), with additional
support for PKCS#8v2 asymmetric key packages (RFC 5958)

- https://crates.io/crates/pkcs8
- https://github.com/RustCrypto/formats/tree/master/pkcs8

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### sec1

Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats
including ASN.1 DER-serialized private keys as well as the
Elliptic-Curve-Point-to-Octet-String encoding

- https://crates.io/crates/sec1
- https://github.com/RustCrypto/formats/tree/master/sec1

1 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)

### serde_json

A JSON serialization file format

- https://crates.io/crates/serde_json
- https://docs.serde.rs/serde_json/
- https://github.com/serde-rs/json

8 uses

- [packages/modules/Bluetooth/tools/pdl](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/pdl)
- [packages/modules/Virtualization/libs/vmconfig](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/vmconfig)
- [packages/modules/Virtualization/microdroid/payload/config](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid/payload/config)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)
- [packages/modules/Virtualization/vm](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm)
- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)
- [system/tools/aidl/scripts/redundancy_check](https://cs.android.com/android/platform/superproject/+/master:system/tools/aidl/scripts/redundancy_check)

### shlex

Split a string into shell words, like Python's shlex.

- https://crates.io/crates/shlex
- https://github.com/comex/rust-shlex

### syn

Parser for Rust source code

- https://crates.io/crates/syn
- https://docs.rs/syn
- https://github.com/dtolnay/syn

4 uses

- [packages/modules/Bluetooth/system/gd/rust/gddi](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/gddi)
- [packages/modules/Bluetooth/system/gd/rust/topshim/macros](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/macros)
- [packages/modules/Bluetooth/tools/pdl](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/pdl)
- [system/keymint/derive](https://cs.android.com/android/platform/superproject/+/master:system/keymint/derive)

### url

URL library for Rust, based on the WHATWG URL Standard

- https://crates.io/crates/url
- https://docs.rs/url
- https://github.com/servo/rust-url

### uuid

A library to generate and parse UUIDs.

- https://crates.io/crates/uuid
- https://docs.rs/uuid
- https://github.com/uuid-rs/uuid

4 uses

- [packages/modules/Virtualization/apkdmverity](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/apkdmverity)
- [packages/modules/Virtualization/libs/devicemapper](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/devicemapper)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)

### x509-parser

Parser for the X.509 v3 format (RFC 5280 certificates)

- https://crates.io/crates/x509-parser
- https://github.com/rusticata/x509-parser
- https://github.com/rusticata/x509-parser.git

## Parsing tools

### byteorder

Library for reading/writing numbers in big-endian and little-endian.

- https://crates.io/crates/byteorder
- https://docs.rs/byteorder
- https://github.com/BurntSushi/byteorder

### ciborium

serde implementation of CBOR using ciborium-basic

- https://crates.io/crates/ciborium
- https://github.com/enarx/ciborium

6 uses

- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)
- [system/keymint/derive](https://cs.android.com/android/platform/superproject/+/master:system/keymint/derive)
- [system/keymint/hal](https://cs.android.com/android/platform/superproject/+/master:system/keymint/hal)
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)
- [system/keymint/tests](https://cs.android.com/android/platform/superproject/+/master:system/keymint/tests)
- [system/keymint/wire](https://cs.android.com/android/platform/superproject/+/master:system/keymint/wire)

### ciborium-ll

Low-level CBOR codec primitives

- https://crates.io/crates/ciborium-ll/0.2.0
- https://github.com/enarx/ciborium

### combine

Fast parser combinators on arbitrary streams with zero-copy support.

- https://crates.io/crates/combine
- https://docs.rs/combine
- https://github.com/Marwes/combine

### minimal-lexical

Fast float parsing conversion routines.

- https://crates.io/crates/minimal-lexical
- https://docs.rs/minimal-lexical
- https://github.com/Alexhuszagh/minimal-lexical

### nom

A byte-oriented, zero-copy, parser combinators library

- https://crates.io/crates/nom
- https://docs.rs/nom
- https://github.com/Geal/nom

### pest

The Elegant Parser

- https://crates.io/crates/pest
- https://docs.rs/pest
- https://github.com/pest-parser/pest
- https://pest.rs/

1 uses

- [packages/modules/Bluetooth/tools/pdl](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/pdl)

### pest_derive

pest's derive macro

- https://crates.io/crates/pest_derive
- https://docs.rs/pest
- https://github.com/pest-parser/pest
- https://pest.rs/

### pest_generator

pest code generator

- https://crates.io/crates/pest_generator
- https://docs.rs/pest
- https://github.com/pest-parser/pest
- https://pest.rs/

### pest_meta

pest meta language parser and validator

- https://crates.io/crates/pest_meta
- https://docs.rs/pest
- https://github.com/pest-parser/pest
- https://pest.rs/

### rusticata-macros

Helper macros for Rusticata

- https://crates.io/crates/rusticata-macros
- https://github.com/rusticata/rusticata-macros
- https://github.com/rusticata/rusticata-macros.git

### xml-rs

An XML library in pure Rust

- http://docs.rs/xml-rs/
- https://crates.io/crates/xml-rs
- https://github.com/netvl/xml-rs

## Rendering::Graphics APIs

### vulkano

Safe wrapper for the Vulkan graphics API

- https://crates.io/crates/vulkano
- https://docs.rs/vulkano
- https://github.com/vulkano-rs/vulkano
- https://vulkano.rs

## Rust patterns

### anyhow

Flexible concrete Error type built on std::error::Error

- https://crates.io/crates/anyhow
- https://docs.rs/anyhow
- https://github.com/dtolnay/anyhow

43 uses

- [hardware/interfaces/security/dice/aidl/default](https://cs.android.com/android/platform/superproject/+/master:hardware/interfaces/security/dice/aidl/default)
- [hardware/interfaces/security/dice/aidl/vts/functional](https://cs.android.com/android/platform/superproject/+/master:hardware/interfaces/security/dice/aidl/vts/functional)
- [packages/modules/Virtualization/apkdmverity](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/apkdmverity)
- [packages/modules/Virtualization/authfs](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs)
- [packages/modules/Virtualization/authfs/fd_server](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/fd_server)
- [packages/modules/Virtualization/authfs/service](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/service)
- [packages/modules/Virtualization/authfs/tests/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/tests/common)
- [packages/modules/Virtualization/avmd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/avmd)
- [packages/modules/Virtualization/compos](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos)
- [packages/modules/Virtualization/compos/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/common)
- [packages/modules/Virtualization/compos/composd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd)
- [packages/modules/Virtualization/compos/composd/native](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd/native)
- [packages/modules/Virtualization/compos/composd_cmd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd_cmd)
- [packages/modules/Virtualization/compos/verify](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/verify)
- [packages/modules/Virtualization/compos/verify/native](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/verify/native)
- [packages/modules/Virtualization/encryptedstore](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/encryptedstore)
- [packages/modules/Virtualization/libs/apkverify](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/apkverify)
- [packages/modules/Virtualization/libs/capabilities](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/capabilities)
- [packages/modules/Virtualization/libs/devicemapper](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/devicemapper)
- [packages/modules/Virtualization/libs/nested_virt](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/nested_virt)
- [packages/modules/Virtualization/libs/vbmeta](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/vbmeta)
- [packages/modules/Virtualization/libs/vmconfig](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/vmconfig)
- [packages/modules/Virtualization/microdroid/initrd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid/initrd)
- [packages/modules/Virtualization/microdroid/payload/metadata](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid/payload/metadata)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [packages/modules/Virtualization/pvmfw/avb](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/pvmfw/avb)
- [packages/modules/Virtualization/rialto](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/rialto)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)
- [packages/modules/Virtualization/vm](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm)
- [packages/modules/Virtualization/vm_payload](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm_payload)
- [packages/modules/Virtualization/vmbase/example](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmbase/example)
- [packages/modules/Virtualization/zipfuse](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/zipfuse)
- [system/extras/profcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd)
- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)
- [system/librustutils](https://cs.android.com/android/platform/superproject/+/master:system/librustutils)
- [system/security/diced](https://cs.android.com/android/platform/superproject/+/master:system/security/diced)
- [system/security/keystore2](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2)
- [system/security/keystore2/legacykeystore](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/legacykeystore)
- [system/security/keystore2/selinux](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/selinux)
- [system/security/keystore2/tests](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests)
- [system/security/keystore2/tests/legacy_blobs](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests/legacy_blobs)
- [system/security/prng_seeder](https://cs.android.com/android/platform/superproject/+/master:system/security/prng_seeder)
- [system/tools/aidl/scripts/redundancy_check](https://cs.android.com/android/platform/superproject/+/master:system/tools/aidl/scripts/redundancy_check)

### bencher

A port of the libtest (unstable Rust) benchmark runner to Rust stable releases. Supports running benchmarks and filtering based on the name. Benchmark execution works exactly the same way and no more (caveat: black_box is still missing!).

- https://crates.io/crates/bencher
- https://docs.rs/bencher/
- https://github.com/bluss/bencher/

### enumn

Convert number to enum

- https://crates.io/crates/enumn
- https://docs.rs/enumn
- https://github.com/dtolnay/enumn

### itertools

Extra iterator adaptors, iterator methods, free functions, and macros.

- https://crates.io/crates/itertools
- https://docs.rs/itertools/
- https://github.com/rust-itertools/itertools

### lazy_static

A macro for declaring lazily evaluated statics in Rust.

- https://crates.io/crates/lazy_static
- https://docs.rs/lazy_static
- https://github.com/rust-lang-nursery/lazy-static.rs

### merge

Merge multiple values into one

- https://crates.io/crates/merge
- https://git.sr.ht/~ireas/merge-rs

### merge_derive

Derive macro for the merge::Merge trait

- https://crates.io/crates/merge_derive
- https://git.sr.ht/~ireas/merge-rs/tree/master/merge_derive

### once_cell

Single assignment cells and lazy values.

- https://crates.io/crates/once_cell
- https://docs.rs/once_cell
- https://github.com/matklad/once_cell

2 uses

- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)

### os_str_bytes

Convert between byte sequences and platform-native strings

- https://crates.io/crates/os_str_bytes
- https://github.com/dylni/os_str_bytes

### peeking_take_while

Like `Iterator::take_while`, but calls the predicate on a peeked value. This allows you to use `Iterator::by_ref` and `Iterator::take_while` together, and still get the first value for which the `take_while` predicate returned false after dropping the `by_ref`.

- https://crates.io/crates/peeking_take_while
- https://github.com/fitzgen/peeking_take_while

### pin-project

A crate for safe and ergonomic pin-projection.

- https://crates.io/crates/pin-project
- https://github.com/taiki-e/pin-project

### pin-project-internal

Implementation detail of the `pin-project` crate.

- https://crates.io/crates/pin-project-internal
- https://github.com/taiki-e/pin-project

### pin-project-lite

A lightweight version of pin-project written with declarative macros.

- https://crates.io/crates/pin-project-lite
- https://github.com/taiki-e/pin-project-lite

### scopeguard

A RAII scope guard that will run a given closure when it goes out of scope,
even if the code between panics (assuming unwinding panic).

Defines the macros `defer!`, `defer_on_unwind!`, `defer_on_success!` as
shorthands for guards with one of the implemented strategies.

- https://crates.io/crates/scopeguard
- https://docs.rs/scopeguard/
- https://github.com/bluss/scopeguard

6 uses

- [packages/modules/Virtualization/apkdmverity](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/apkdmverity)
- [packages/modules/Virtualization/compos](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos)
- [packages/modules/Virtualization/libs/capabilities](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/capabilities)
- [packages/modules/Virtualization/libs/devicemapper](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/devicemapper)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [packages/modules/Virtualization/zipfuse](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/zipfuse)

### static_assertions

Compile-time assertions to ensure that invariants are met.

- https://crates.io/crates/static_assertions
- https://docs.rs/static_assertions/
- https://github.com/nvzqz/static-assertions-rs

### thiserror

derive(Error)

- https://crates.io/crates/thiserror
- https://docs.rs/thiserror
- https://github.com/dtolnay/thiserror

26 uses

- [packages/modules/Bluetooth/system/gd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd)
- [packages/modules/Bluetooth/system/gd/rust/stack](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/stack)
- [packages/modules/Bluetooth/tools/pdl](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/pdl)
- [packages/modules/Bluetooth/tools/rootcanal/lmp](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/rootcanal/lmp)
- [packages/modules/Uwb/indev_uwb_adaptation](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Uwb/indev_uwb_adaptation)
- [packages/modules/Uwb/service/uci/jni](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Uwb/service/uci/jni)
- [packages/modules/Virtualization/authfs](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs)
- [packages/modules/Virtualization/libs/apexutil](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/apexutil)
- [packages/modules/Virtualization/libs/statslog_virtualization](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/statslog_virtualization)
- [packages/modules/Virtualization/libs/vbmeta](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/vbmeta)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [packages/modules/Virtualization/vmclient](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmclient)
- [system/core/debuggerd/rust/tombstoned_client](https://cs.android.com/android/platform/superproject/+/master:system/core/debuggerd/rust/tombstoned_client)
- [system/librustutils](https://cs.android.com/android/platform/superproject/+/master:system/librustutils)
- [system/nfc/src](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src)
- [system/nfc/src/rust](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust)
- [system/nfc/src/rust/rootcanal](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust/rootcanal)
- [system/nfc/src/rust/test](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust/test)
- [system/security/diced](https://cs.android.com/android/platform/superproject/+/master:system/security/diced)
- [system/security/diced/open_dice_cbor](https://cs.android.com/android/platform/superproject/+/master:system/security/diced/open_dice_cbor)
- [system/security/keystore2](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2)
- [system/security/keystore2/legacykeystore](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/legacykeystore)
- [system/security/keystore2/selinux](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/selinux)
- [system/security/keystore2/src/crypto](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/src/crypto)
- [system/security/keystore2/tests](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests)
- [system/security/keystore2/tests/legacy_blobs](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests/legacy_blobs)

## Science

### num-bigint

Big integer implementation for Rust

- https://crates.io/crates/num-bigint
- https://docs.rs/num-bigint
- https://github.com/rust-num/num-bigint

### num-derive

Numeric syntax extensions

- https://crates.io/crates/num-derive
- https://docs.rs/num-derive
- https://github.com/rust-num/num-derive

### num-integer

Integer traits and functions

- https://crates.io/crates/num-integer
- https://docs.rs/num-integer
- https://github.com/rust-num/num-integer

### num-traits

Numeric traits for generic mathematics

- https://crates.io/crates/num-traits
- https://docs.rs/num-traits
- https://github.com/rust-num/num-traits

## Template engine

### tinytemplate

Simple, lightweight template engine

- https://crates.io/crates/tinytemplate
- https://github.com/bheisler/TinyTemplate

## Text processing

### aho-corasick

Fast multiple substring searching.

- https://crates.io/crates/aho-corasick
- https://github.com/BurntSushi/aho-corasick

### bstr

A string type that is not required to be valid UTF-8.

- https://crates.io/crates/bstr
- https://docs.rs/bstr
- https://github.com/BurntSushi/bstr

### regex

An implementation of regular expressions for Rust. This implementation uses
finite automata and guarantees linear time matching on all inputs.

- https://crates.io/crates/regex
- https://docs.rs/regex
- https://github.com/rust-lang/regex

4 uses

- [packages/modules/Virtualization/compos](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos)
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)
- [system/keymint/hal](https://cs.android.com/android/platform/superproject/+/master:system/keymint/hal)
- [system/tools/aidl/scripts/redundancy_check](https://cs.android.com/android/platform/superproject/+/master:system/tools/aidl/scripts/redundancy_check)

### regex-automata

Automata construction and matching using regular expressions.

- https://crates.io/crates/regex-automata
- https://docs.rs/regex-automata
- https://github.com/BurntSushi/regex-automata

### textwrap

Powerful library for word wrapping, indenting, and dedenting strings

- https://crates.io/crates/textwrap
- https://docs.rs/textwrap/
- https://github.com/mgeisler/textwrap

### unicode-bidi

Implementation of the Unicode Bidirectional Algorithm

- https://crates.io/crates/unicode-bidi
- https://docs.rs/unicode-bidi/
- https://github.com/servo/unicode-bidi

## Value formatting

### itoa

Fast integer primitive to string conversion

- https://crates.io/crates/itoa
- https://docs.rs/itoa
- https://github.com/dtolnay/itoa

### ryu

Fast floating point to string conversion

- https://crates.io/crates/ryu
- https://docs.rs/ryu
- https://github.com/dtolnay/ryu

## Visualization

### criterion-plot

Criterion's plotting library

- https://crates.io/crates/criterion-plot
- https://github.com/bheisler/criterion.rs

### plotters

A Rust drawing library focus on data plotting for both WASM and native applications

- https://crates.io/crates/plotters
- https://github.com/plotters-rs/plotters
- https://plotters-rs.github.io/

## Web programming

### url

URL library for Rust, based on the WHATWG URL Standard

- https://crates.io/crates/url
- https://docs.rs/url
- https://github.com/servo/rust-url

## WebAssembly

### plotters

A Rust drawing library focus on data plotting for both WASM and native applications

- https://crates.io/crates/plotters
- https://github.com/plotters-rs/plotters
- https://plotters-rs.github.io/

### uuid

A library to generate and parse UUIDs.

- https://crates.io/crates/uuid
- https://docs.rs/uuid
- https://github.com/uuid-rs/uuid

4 uses

- [packages/modules/Virtualization/apkdmverity](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/apkdmverity)
- [packages/modules/Virtualization/libs/devicemapper](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/devicemapper)
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)
- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)

# rust components found in AOSP

- [device/google/cuttlefish/guest/hals/keymint/rust](https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/guest/hals/keymint/rust)([android_logger](#android_logger), [hex](#hex))
- [device/google/cuttlefish/host/commands/append_squashfs_overlay](https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/host/commands/append_squashfs_overlay)([clap](#clap))
- [device/google/cuttlefish/host/commands/secure_env/rust](https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/host/commands/secure_env/rust)([env_logger](#env_logger), [hex](#hex))
- [hardware/interfaces/security/dice/aidl/default](https://cs.android.com/android/platform/superproject/+/master:hardware/interfaces/security/dice/aidl/default)([anyhow](#anyhow), [android_logger](#android_logger), [serde](#serde))
- [hardware/interfaces/security/dice/aidl/vts/functional](https://cs.android.com/android/platform/superproject/+/master:hardware/interfaces/security/dice/aidl/vts/functional)([anyhow](#anyhow))
- [hardware/interfaces/security/keymint/aidl](https://cs.android.com/android/platform/superproject/+/master:hardware/interfaces/security/keymint/aidl)
- [packages/modules/Bluetooth/system/gd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd)([thiserror](#thiserror))
- [packages/modules/Bluetooth/system/gd/rust/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/common)([futures](#futures), [android_logger](#android_logger), [grpcio](#grpcio), [env_logger](#env_logger), [tokio](#tokio), [nix](#nix))
- [packages/modules/Bluetooth/system/gd/rust/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/facade)([futures](#futures), [grpcio](#grpcio), [protobuf](#protobuf), [clap](#clap), [tokio](#tokio), [nix](#nix))
- [packages/modules/Bluetooth/system/gd/rust/gddi](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/gddi)([quote](#quote), [syn](#syn), [tokio](#tokio))
- [packages/modules/Bluetooth/system/gd/rust/shim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/shim)([futures](#futures), [tokio](#tokio), [nix](#nix))
- [packages/modules/Bluetooth/system/gd/rust/stack](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/stack)([futures](#futures), [grpcio](#grpcio), [thiserror](#thiserror), [protobuf](#protobuf), [tokio](#tokio))
- [packages/modules/Bluetooth/system/gd/rust/topshim](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim)([futures](#futures), [grpcio](#grpcio), [tokio](#tokio), [nix](#nix))
- [packages/modules/Bluetooth/system/gd/rust/topshim/facade](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/facade)([futures](#futures), [grpcio](#grpcio), [tokio](#tokio), [clap](#clap), [nix](#nix))
- [packages/modules/Bluetooth/system/gd/rust/topshim/macros](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/gd/rust/topshim/macros)([quote](#quote), [syn](#syn))
- [packages/modules/Bluetooth/tools/pdl](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/pdl)([quote](#quote), [syn](#syn), [pest](#pest), [thiserror](#thiserror), [clap](#clap), [serde](#serde), [serde_json](#serde_json), [tempfile](#tempfile))
- [packages/modules/Bluetooth/tools/rootcanal/lmp](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/tools/rootcanal/lmp)([rand](#rand), [thiserror](#thiserror))
- [packages/modules/DnsResolver](https://cs.android.com/android/platform/superproject/+/master:packages/modules/DnsResolver)
- [packages/modules/Uwb/indev_uwb_adaptation](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Uwb/indev_uwb_adaptation)([thiserror](#thiserror), [tokio](#tokio), [jni](#jni))
- [packages/modules/Uwb/service/uci/jni](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Uwb/service/uci/jni)([thiserror](#thiserror), [tokio](#tokio), [jni](#jni))
- [packages/modules/Virtualization/apkdmverity](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/apkdmverity)([anyhow](#anyhow), [uuid](#uuid), [clap](#clap), [scopeguard](#scopeguard), [tempfile](#tempfile), [nix](#nix))
- [packages/modules/Virtualization/authfs](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs)([anyhow](#anyhow), [android_logger](#android_logger), [thiserror](#thiserror), [clap](#clap), [protobuf](#protobuf), [nix](#nix), [openssl](#openssl))
- [packages/modules/Virtualization/authfs/fd_server](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/fd_server)([anyhow](#anyhow), [android_logger](#android_logger), [clap](#clap), [nix](#nix))
- [packages/modules/Virtualization/authfs/service](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/service)([anyhow](#anyhow), [android_logger](#android_logger), [shared_child](#shared_child), [nix](#nix))
- [packages/modules/Virtualization/authfs/src/fsverity/metadata](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/src/fsverity/metadata)([openssl](#openssl))
- [packages/modules/Virtualization/authfs/tests/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/authfs/tests/common)([anyhow](#anyhow), [android_logger](#android_logger), [clap](#clap))
- [packages/modules/Virtualization/avmd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/avmd)([anyhow](#anyhow), [tempfile](#tempfile), [serde_cbor](#serde_cbor), [clap](#clap), [serde](#serde), [hex](#hex))
- [packages/modules/Virtualization/compos](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos)([anyhow](#anyhow), [android_logger](#android_logger), [regex](#regex), [protobuf](#protobuf), [scopeguard](#scopeguard), [nix](#nix))
- [packages/modules/Virtualization/compos/common](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/common)([anyhow](#anyhow))
- [packages/modules/Virtualization/compos/composd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd)([anyhow](#anyhow), [android_logger](#android_logger), [num_cpus](#num_cpus), [shared_child](#shared_child), [nix](#nix))
- [packages/modules/Virtualization/compos/composd/native](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd/native)([anyhow](#anyhow))
- [packages/modules/Virtualization/compos/composd_cmd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/composd_cmd)([anyhow](#anyhow), [clap](#clap))
- [packages/modules/Virtualization/compos/verify](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/verify)([anyhow](#anyhow), [android_logger](#android_logger), [clap](#clap))
- [packages/modules/Virtualization/compos/verify/native](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/compos/verify/native)([anyhow](#anyhow))
- [packages/modules/Virtualization/encryptedstore](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/encryptedstore)([anyhow](#anyhow), [android_logger](#android_logger), [clap](#clap), [nix](#nix), [hex](#hex))
- [packages/modules/Virtualization/libs/apexutil](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/apexutil)([thiserror](#thiserror), [zip](#zip), [hex](#hex))
- [packages/modules/Virtualization/libs/apkverify](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/apkverify)([anyhow](#anyhow), [openssl](#openssl), [serde](#serde), [zip](#zip), [hex](#hex))
- [packages/modules/Virtualization/libs/capabilities](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/capabilities)([anyhow](#anyhow), [scopeguard](#scopeguard), [nix](#nix))
- [packages/modules/Virtualization/libs/devicemapper](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/devicemapper)([anyhow](#anyhow), [uuid](#uuid), [scopeguard](#scopeguard), [tempfile](#tempfile), [nix](#nix), [hex](#hex))
- [packages/modules/Virtualization/libs/dice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/dice)
- [packages/modules/Virtualization/libs/fdtpci](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/fdtpci)
- [packages/modules/Virtualization/libs/libfdt](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/libfdt)
- [packages/modules/Virtualization/libs/nested_virt](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/nested_virt)([anyhow](#anyhow))
- [packages/modules/Virtualization/libs/statslog_virtualization](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/statslog_virtualization)([thiserror](#thiserror))
- [packages/modules/Virtualization/libs/vbmeta](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/vbmeta)([anyhow](#anyhow), [tempfile](#tempfile), [thiserror](#thiserror))
- [packages/modules/Virtualization/libs/vmconfig](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/libs/vmconfig)([anyhow](#anyhow), [serde](#serde), [semver](#semver), [serde_json](#serde_json))
- [packages/modules/Virtualization/microdroid/initrd](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid/initrd)([anyhow](#anyhow), [clap](#clap))
- [packages/modules/Virtualization/microdroid/payload/config](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid/payload/config)([serde_json](#serde_json), [serde](#serde))
- [packages/modules/Virtualization/microdroid/payload/metadata](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid/payload/metadata)([anyhow](#anyhow), [protobuf](#protobuf))
- [packages/modules/Virtualization/microdroid_manager](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/microdroid_manager)([anyhow](#anyhow), [serde](#serde), [serde_json](#serde_json), [nix](#nix), [vsock](#vsock), [scopeguard](#scopeguard), [kernlog](#kernlog), [hex](#hex), [openssl](#openssl), [rand](#rand), [protobuf](#protobuf), [once_cell](#once_cell), [glob](#glob), [uuid](#uuid), [serde_cbor](#serde_cbor), [thiserror](#thiserror), [tempfile](#tempfile))
- [packages/modules/Virtualization/pvmfw](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/pvmfw)
- [packages/modules/Virtualization/pvmfw/avb](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/pvmfw/avb)([anyhow](#anyhow))
- [packages/modules/Virtualization/rialto](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/rialto)([anyhow](#anyhow), [android_logger](#android_logger), [nix](#nix))
- [packages/modules/Virtualization/virtualizationservice](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/virtualizationservice)([anyhow](#anyhow), [serde](#serde), [serde_json](#serde_json), [nix](#nix), [zip](#zip), [vsock](#vsock), [android_logger](#android_logger), [shared_child](#shared_child), [semver](#semver), [once_cell](#once_cell), [regex](#regex), [clap](#clap), [tempfile](#tempfile))
- [packages/modules/Virtualization/vm](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm)([anyhow](#anyhow), [rand](#rand), [serde](#serde), [zip](#zip), [env_logger](#env_logger), [clap](#clap), [serde_json](#serde_json))
- [packages/modules/Virtualization/vm_payload](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vm_payload)([anyhow](#anyhow), [vsock](#vsock), [android_logger](#android_logger))
- [packages/modules/Virtualization/vmbase](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmbase)([psci](#psci))
- [packages/modules/Virtualization/vmbase/example](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmbase/example)([anyhow](#anyhow), [android_logger](#android_logger), [nix](#nix))
- [packages/modules/Virtualization/vmclient](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/vmclient)([thiserror](#thiserror), [shared_child](#shared_child), [nix](#nix))
- [packages/modules/Virtualization/zipfuse](https://cs.android.com/android/platform/superproject/+/master:packages/modules/Virtualization/zipfuse)([anyhow](#anyhow), [nix](#nix), [clap](#clap), [scopeguard](#scopeguard), [tempfile](#tempfile), [zip](#zip))
- [system/core/debuggerd/rust/tombstoned_client](https://cs.android.com/android/platform/superproject/+/master:system/core/debuggerd/rust/tombstoned_client)([thiserror](#thiserror))
- [system/core/libstats/pull_rust](https://cs.android.com/android/platform/superproject/+/master:system/core/libstats/pull_rust)
- [system/core/trusty/keymint](https://cs.android.com/android/platform/superproject/+/master:system/core/trusty/keymint)([android_logger](#android_logger))
- [system/core/trusty/libtrusty-rs](https://cs.android.com/android/platform/superproject/+/master:system/core/trusty/libtrusty-rs)([nix](#nix))
- [system/extras/profcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd)([anyhow](#anyhow))
- [system/extras/profcollectd/libprofcollectd](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd)([anyhow](#anyhow), [rand](#rand), [uuid](#uuid), [android_logger](#android_logger), [macaddr](#macaddr), [serde_json](#serde_json), [chrono](#chrono), [serde](#serde), [zip](#zip))
- [system/extras/profcollectd/libprofcollectd/bindings/libflags](https://cs.android.com/android/platform/superproject/+/master:system/extras/profcollectd/libprofcollectd/bindings/libflags)
- [system/keymint/boringssl](https://cs.android.com/android/platform/superproject/+/master:system/keymint/boringssl)([openssl](#openssl))
- [system/keymint/common](https://cs.android.com/android/platform/superproject/+/master:system/keymint/common)([pkcs1](#pkcs1), [coset](#coset), [spki](#spki), [pkcs8](#pkcs8), [der](#der), [ciborium](#ciborium), [zeroize](#zeroize), [sec1](#sec1), [hex](#hex))
- [system/keymint/derive](https://cs.android.com/android/platform/superproject/+/master:system/keymint/derive)([quote](#quote), [syn](#syn), [ciborium](#ciborium))
- [system/keymint/hal](https://cs.android.com/android/platform/superproject/+/master:system/keymint/hal)([regex](#regex), [ciborium](#ciborium), [hex](#hex))
- [system/keymint/ta](https://cs.android.com/android/platform/superproject/+/master:system/keymint/ta)([coset](#coset), [spki](#spki), [flagset](#flagset), [der](#der), [ciborium](#ciborium), [hex](#hex))
- [system/keymint/tests](https://cs.android.com/android/platform/superproject/+/master:system/keymint/tests)([env_logger](#env_logger), [ciborium](#ciborium), [hex](#hex))
- [system/keymint/wire](https://cs.android.com/android/platform/superproject/+/master:system/keymint/wire)([coset](#coset), [ciborium](#ciborium), [zeroize](#zeroize), [hex](#hex))
- [system/librustutils](https://cs.android.com/android/platform/superproject/+/master:system/librustutils)([anyhow](#anyhow), [arbitrary](#arbitrary), [thiserror](#thiserror))
- [system/logging/rust](https://cs.android.com/android/platform/superproject/+/master:system/logging/rust)([android_logger](#android_logger), [env_logger](#env_logger))
- [system/nfc/src](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src)([thiserror](#thiserror))
- [system/nfc/src/rust](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust)([thiserror](#thiserror), [tokio](#tokio))
- [system/nfc/src/rust/rootcanal](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust/rootcanal)([thiserror](#thiserror), [tokio](#tokio))
- [system/nfc/src/rust/test](https://cs.android.com/android/platform/superproject/+/master:system/nfc/src/rust/test)([thiserror](#thiserror), [tokio](#tokio))
- [system/security/diced](https://cs.android.com/android/platform/superproject/+/master:system/security/diced)([anyhow](#anyhow), [android_logger](#android_logger), [serde_cbor](#serde_cbor), [thiserror](#thiserror), [serde](#serde), [nix](#nix))
- [system/security/diced/open_dice_cbor](https://cs.android.com/android/platform/superproject/+/master:system/security/diced/open_dice_cbor)([thiserror](#thiserror))
- [system/security/keystore2](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2)([futures](#futures), [anyhow](#anyhow), [serde](#serde), [nix](#nix), [rusqlite](#rusqlite), [android_logger](#android_logger), [rand](#rand), [serde_cbor](#serde_cbor), [thiserror](#thiserror))
- [system/security/keystore2/aaid](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/aaid)
- [system/security/keystore2/aidl](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/aidl)
- [system/security/keystore2/apc_compat](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/apc_compat)
- [system/security/keystore2/legacykeystore](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/legacykeystore)([anyhow](#anyhow), [rusqlite](#rusqlite), [thiserror](#thiserror))
- [system/security/keystore2/selinux](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/selinux)([anyhow](#anyhow), [android_logger](#android_logger), [thiserror](#thiserror), [num_cpus](#num_cpus), [nix](#nix))
- [system/security/keystore2/src/crypto](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/src/crypto)([nix](#nix), [thiserror](#thiserror))
- [system/security/keystore2/src/fuzzers](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/src/fuzzers)([arbitrary](#arbitrary))
- [system/security/keystore2/src/km_compat](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/src/km_compat)
- [system/security/keystore2/src/vintf](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/src/vintf)
- [system/security/keystore2/tests](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests)([anyhow](#anyhow), [thiserror](#thiserror), [serde](#serde), [nix](#nix), [openssl](#openssl))
- [system/security/keystore2/tests/legacy_blobs](https://cs.android.com/android/platform/superproject/+/master:system/security/keystore2/tests/legacy_blobs)([anyhow](#anyhow), [thiserror](#thiserror), [nix](#nix), [serde](#serde))
- [system/security/prng_seeder](https://cs.android.com/android/platform/superproject/+/master:system/security/prng_seeder)([anyhow](#anyhow), [clap](#clap), [tokio](#tokio), [nix](#nix))
- [system/tools/aidl](https://cs.android.com/android/platform/superproject/+/master:system/tools/aidl)([tokio](#tokio))
- [system/tools/aidl/scripts/redundancy_check](https://cs.android.com/android/platform/superproject/+/master:system/tools/aidl/scripts/redundancy_check)([anyhow](#anyhow), [regex](#regex), [clap](#clap), [serde](#serde), [serde_json](#serde_json))