Android

如要在 Android 開放原始碼計畫中建構 Rust 裸機開發二進位檔,您需要使用 rust_ffi_static Soong 規則建構 Rust 程式碼,接著使用具有連接器指令碼的 cc_binary 產生二進位檔,並以 raw_binary 將 ELF 轉換為準備好執行的原始二進位檔。

rust_ffi_static { name: "libvmbase_example", defaults: ["vmbase_ffi_defaults"], crate_name: "vmbase_example", srcs: ["src/main.rs"], rustlibs: [ "libvmbase", ], } cc_binary { name: "vmbase_example", defaults: ["vmbase_elf_defaults"], srcs: [ "idmap.S", ], static_libs: [ "libvmbase_example", ], linker_scripts: [ "image.ld", ":vmbase_sections", ], } raw_binary { name: "vmbase_example_bin", stem: "vmbase_example.bin", src: ":vmbase_example", enabled: false, target: { android_arm64: { enabled: true, }, }, }