1.2 KiB
1.2 KiB
Rust build
Currently, the Rust components are built differently on Android vs Linux. We are missing Rust support in our GN toolchain so we currently build the Rust libraries as a staticlib and link in C++. This may change in the future once we have better support.
For now, you can build all of the Rust code using Cargo.
There are some dependencies:
- You must have the protobuf-compiler package installed
- You must have a recent version of Cargo + Rust
You should use build.py
at the root to do your Rust builds so that it
correctly points your dependencies towards the vendored crates and sets your
$CARGO_HOME to the correct location.
Building packets
package
This package depends on bluetooth_packetgen
and thus simply using
cargo build
will fail. Follow the steps below to ensure the dependency is
found in $CARGO_HOME/bin
.
- Run
m -j32 bluetooth_packetgen
to compilebluetooth_packetgen
c++ binary. - Change directory to
$CARGO_HOME/bin
. - Create a symlink in
$CARGO_HOME/bin
to compiledbluetooth_packetgen
.ln -s ~/aosp/out/host/linux-x86/bin/bluetooth_packetgen bluetooth_packetgen
Enable GD Rust
adb shell device_config put bluetooth INIT_gd_rust true
- Restart the device