Rust Binaries

Let us start with a simple application. At the root of an AOSP checkout, create the following files:

hello_rust/Android.bp:

  1. rust_binary {
  2. name: "hello_rust",
  3. crate_name: "hello_rust",
  4. srcs: ["src/main.rs"],
  5. }

hello_rust/src/main.rs:

  1. //! Rust demo.
  2. /// Prints a greeting to standard output.
  3. fn main() {
  4.     println!("Hello from Rust!");
  5. }

You can now build, push, and run the binary:

  1. m hello_rust
  2. adb push "$ANDROID_PRODUCT_OUT/system/bin/hello_rust" /data/local/tmp
  3. adb shell /data/local/tmp/hello_rust
  1. Hello from Rust!