Hỗ trợ Rust trong ASfP

Tổng quan

Rust là một ngôn ngữ lập trình hệ thống hiện đại tập trung vào hiệu suất và độ an toàn, đặc biệt là độ an toàn của bộ nhớ. Rust ngày càng trở nên quan trọng trong hệ sinh thái Android vì đây là một lựa chọn thay thế an toàn hơn cho C hoặc C++ để phát triển các thành phần hệ thống quan trọng, giúp cải thiện tính bảo mật và độ ổn định.

Trang này hướng dẫn bạn thiết lập Android Studio for Platform (ASfP) để hỗ trợ hoạt động phát triển Rust trong các dự án Dự án nguồn mở Android (AOSP).

Điều kiện tiên quyết

  • Đã cài đặt ASfP: Xác minh rằng bạn đã cài đặt và đang chạy ASfP.
  • Thanh toán trên nền tảng: Bạn cần có một quy trình thanh toán đang hoạt động trên nền tảng AOSP trên máy của mình.

Bật tính năng hỗ trợ Rust

Sau đây là quy trình từng bước để hỗ trợ Rust trong dự án ASfP của bạn:

  1. Bật Rust

    • Khi tạo một dự án mới trong trình hướng dẫn thiết lập, hãy chọn hộp đánh dấu cho Rust:
    Hộp đánh dấu Rust trong trình hướng dẫn thiết lập dự án mới.
    Hộp đánh dấu Rust trong trình hướng dẫn thiết lập dự án mới.
    • Đối với các dự án hiện có, hãy mở tệp cấu hình .asfp-project rồi thêm rust vào other_languages:
        other_languages:
          -   cpp
          -   rust
        ```
    
    <figure>
          <img src="/studio/platform/images/1-modify_asfp_project_languages.png" alt="Modifying the .asfp-project file to add rust to other_languages" class="screenshot">
          <figcaption>Adding Rust support in the <code>.asfp-project</code> file.</figcaption>
        </figure>
    
  1. Đồng bộ hoá dự án

    Kích hoạt quá trình đồng bộ hoá dự án để IDE tạo và lập chỉ mục các crate Rust của bạn: chọn ASfP > Sync > Sync Project (ASfP > Đồng bộ hoá > Đồng bộ hoá dự án).

Xác minh cấu hình của bạn

Sau khi hoàn tất các bước này, hãy xác minh các kết quả sau:

  • rust-project.json xuất hiện trong chế độ xem dự án của bạn trong tệp nguồn .iml. Tệp này được Soong tạo trong quá trình phân tích và được liên kết tượng trưng với thư mục gốc của kho lưu trữ. Điều này là cần thiết để Giao thức máy chủ ngôn ngữ (LSP) cung cấp các dịch vụ ngôn ngữ. Đừng chỉnh sửa trực tiếp tệp này; thay vào đó, hãy đồng bộ hoá lại để Soong xử lý tệp.

    Xác minh rằng rust có trong other_languages trong cấu hình .asfp-project của bạn.

    Đảm bảo rằng rust-project.json đã được tạo.
    Đảm bảo rằng rust-project.json đã được tạo.
  • IDE của bạn cho phép các tính năng dành riêng cho Rust sau đây.

Các tính năng chính của IDE Rust

  • Trình gỡ lỗi LLDB và trình trực quan hoá biến tích hợp: Gỡ lỗi các dịch vụ thiết bị Rust đang chạy từ Run > Attach to Android Process (Chạy > Đính kèm vào quy trình Android). Bạn cũng có thể khởi chạy các mục tiêu rust_test hoặc rust_test_host ngay từ biểu tượng rãnh Android.bp bằng trình gỡ lỗi LLDB tích hợp của ASfP (lldb-dap), với các trình tạo bản in đẹp tự động cho String, Vec, HashMap và Option. Để biết thêm thông tin, hãy xem phần Gỡ lỗi mã Rust.
  • Hoàn tất mã: Nhận các đề xuất thông minh cho mã Rust, bao gồm cả các mục từ những mô-đun khác.

    Ví dụ hoàn chỉnh về tính năng hoàn thành mã trên nhiều mô-đun của Rust
    Tính năng hoàn tất mã đề xuất các mục từ một mô-đun Rust khác.

  • Điều hướng: Chuyển đến các định nghĩa và tìm cách sử dụng các ký hiệu Rust trong dự án của bạn.

    Ví dụ về tính năng điều hướng mã Rust
    Chuyển đến định nghĩa của một biểu tượng Rust.
    Ví dụ về cách sử dụng tính năng tìm kiếm trong Rust
    Tìm tất cả các cách sử dụng một ký hiệu Rust.

  • Chú thích: Giữ con trỏ trên các biểu tượng để xem thông tin về loại và tài liệu.

    Ví dụ về chú giải công cụ Rust
    Chú thích cho biết thông tin về loại của một biểu tượng Rust trong một mô-đun khác.

  • Gợi ý nội tuyến: Xem thông tin về loại và các gợi ý theo ngữ cảnh khác ngay trong trình chỉnh sửa.

    Ví dụ về gợi ý chú thích trong Rust
    Gợi ý nội tuyến cho biết thông tin về loại trong mã.

  • Chế độ xem cấu trúc: Điều hướng cấu trúc của các tệp Rust bằng cửa sổ công cụ Structure (Cấu trúc) (View > Tool Windows > Structure (Xem > Cửa sổ công cụ > Cấu trúc)).

    Ví dụ về chế độ xem cấu trúc Rust
    Cửa sổ công cụ cấu trúc cho thấy cấu trúc của một tệp Rust.

  • Tái cấu trúc: Đổi tên các biểu tượng một cách an toàn và cập nhật tất cả các cách sử dụng.

    Ví dụ về việc tái cấu trúc biểu tượng đổi tên Rust
    Đổi tên một biểu tượng Rust và cập nhật tất cả các tham chiếu của biểu tượng đó.

  • Phân tích theo thời gian thực: Nhận phản hồi ngay lập tức về các lỗi và cảnh báo trong mã Rust của bạn.

    Ví dụ về phân tích mã theo thời gian thực bằng Rust
    IDE cho thấy các lỗi và cảnh báo theo thời gian thực trong mã Rust.