2023-11-29 10:39:24 -05:00
|
|
|
---
|
2023-11-30 09:26:21 -05:00
|
|
|
course: Android
|
|
|
|
session: Android
|
2023-11-29 10:39:24 -05:00
|
|
|
---
|
2023-05-02 08:02:28 +02:00
|
|
|
# Welcome to Rust in Android
|
2022-12-21 16:36:30 +01:00
|
|
|
|
2023-11-28 11:19:04 -08:00
|
|
|
Rust is supported for system software on Android. This means that
|
|
|
|
you can write new services, libraries, drivers or even firmware in Rust
|
|
|
|
(or improve existing code as needed).
|
2022-12-21 16:36:30 +01:00
|
|
|
|
2023-03-10 09:07:36 -05:00
|
|
|
> We will attempt to call Rust from one of your own projects today. So try to
|
|
|
|
> find a little corner of your code base where we can move some lines of code to
|
|
|
|
> Rust. The fewer dependencies and "exotic" types the better. Something that
|
|
|
|
> parses some raw bytes would be ideal.
|
2023-11-28 11:19:04 -08:00
|
|
|
|
|
|
|
<details>
|
|
|
|
|
|
|
|
The speaker may mention any of the following given the increased use of Rust
|
|
|
|
in Android:
|
|
|
|
|
|
|
|
- Service example: [DNS over HTTP](https://security.googleblog.com/2022/07/dns-over-http3-in-android.html)
|
|
|
|
|
|
|
|
- Libraries: [Rutabaga Virtual Graphics Interface](https://crosvm.dev/book/appendix/rutabaga_gfx.html)
|
|
|
|
|
|
|
|
- Kernel Drivers: [Binder](https://lore.kernel.org/rust-for-linux/20231101-rust-binder-v1-0-08ba9197f637@google.com/)
|
|
|
|
|
|
|
|
- Firmware: [pKVM firmware](https://security.googleblog.com/2023/10/bare-metal-rust-in-android.html)
|
|
|
|
|
|
|
|
</details>
|