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_packetgento compilebluetooth_packetgenc++ binary. - Change directory to
$CARGO_HOME/bin. - Create a symlink in
$CARGO_HOME/binto 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