Бібліотеки Rust
Ви використовуєте rust_library
, щоб створити нову бібліотеку Rust для Android.
Тут ми оголошуємо залежність від двох бібліотек:
libgreeting
, який ми визначаємо нижче,libtextwrap
, який є крейтом, який уже поставляється вexternal/rust/crates/
.
hello_rust/Android.bp:
rust_binary {
name: "hello_rust_with_dep",
crate_name: "hello_rust_with_dep",
srcs: ["src/main.rs"],
rustlibs: [
"libgreetings",
"libtextwrap",
],
prefer_rlib: true, // Це потрібно, щоб уникнути помилки динамічного лінкування.
}
rust_library {
name: "libgreetings",
crate_name: "привіт",
srcs: ["src/lib.rs"],
}
hello_rust/src/main.rs:
//! Демонстрація Rust.
use greetings::greeting;
use textwrap::fill;
/// Виводить привітання у стандартний вивід.
fn main() {
println!("{}", fill(&greeting("Bob"), 24));
}
hello_rust/src/lib.rs:
//! Бібліотека привітання.
/// Привітати `name`.
pub fn greeting(name: &str) -> String {
format!("Привіт, {name}, дуже приємно познайомитися з вами!")
}
Ви створюєте, завантажуєте та запускаєте бінарний файл, як і раніше:
m hello_rust_with_dep
adb push "$ANDROID_PRODUCT_OUT/system/bin/hello_rust_with_dep" /data/local/tmp
adb shell /data/local/tmp/hello_rust_with_dep
Hello Bob, it is very
nice to meet you!