Tổng quan về dự án

Một dự án trong Android Studio for Platform (ASfP) chứa mọi thông tin giúp xác định không gian làm việc cho cơ sở mã AOSP, từ mã nguồn và tài sản cho đến mã kiểm thử và cấu hình bản dựng.

Khi bạn bắt đầu một dự án mới, ASfP sẽ tạo cấu trúc cần thiết cho tất cả các tệp của bạn và hiển thị các tệp đó trong cửa sổ Dự án. Để mở cửa sổ này, hãy chọn View > Tool Windows > Project (Xem > Cửa sổ công cụ > Dự án).

Trang này cung cấp thông tin tổng quan về các thành phần chính trong cấu hình dự án của bạn.

Cấu hình dự án (.asfp-project)

Cấu hình dự án ASfP được kiểm soát bằng tệp .asfp-project, nằm ở gốc của thư mục dự án. Tệp YAML này rất cần thiết để kiểm soát những gì sẽ có trong dự án của bạn và cách các tính năng quan trọng hoạt động. Bạn có thể mở tệp này thông qua trình đơn chính bằng cách sử dụng ASfP > Project > Open Config (ASfP > Dự án > Mở cấu hình) hoặc bằng cách tìm tệp này trong chế độ xem dự án.

Khi dự án được tạo, một cấu hình sẽ được tạo dựa trên các thông số kỹ thuật do người dùng cung cấp. Bạn có thể chỉnh sửa tất cả các tham số trong cấu hình bất cứ lúc nào để sửa đổi thông số kỹ thuật của dự án, chẳng hạn như cập nhật thư mục hoặc mô-đun dự án. Sau đó, bạn cần đồng bộ hoá để các thay đổi có hiệu lực.

Tham số cấu hình

Sau đây là các thông số chính mà bạn có thể định cấu hình trong tệp .asfp-project:

repo

Bắt buộc

Đường dẫn tuyệt đối đến thư mục gốc của kho lưu trữ nền tảng Android.

repo: /path/to/aosp

lunch

Bắt buộc

Mục tiêu khởi chạy sẽ được ghép với dự án của bạn. Thao tác này được dùng cho tất cả các thao tác tạo bản dựng Soong, bao gồm cả cấu hình chạy và đồng bộ hoá có liên quan.

lunch: your-product-variant-userdebug

directories

Không bắt buộc

Các thư mục cần đưa vào hoặc loại trừ khỏi dự án của bạn. Đây phải là đường dẫn tương đối đối với gốc repo.

directories:
  include:
    -   frameworks/base
    -   packages/apps/Settings
  exclude:
    -   vendor
    -   out/soong

modules

Không bắt buộc

Các mô-đun cần đưa vào hoặc loại trừ khỏi dự án của bạn. Các tham số này hoạt động cùng với directories đã chỉ định trước đó. Cả tên đầy đủ và tên rút gọn đều được hỗ trợ.

modules:
  include:
    -   SystemUIGoogle
    -   frameworks/base/services/core/java:services
  exclude:
    -   UnusedModule

test_sources

Không bắt buộc

ASfP cố gắng phân biệt giữa nguồn chính thức và nguồn thử nghiệm, nhưng trong một số trường hợp, bạn có thể cần phải biểu thị rõ ràng nguồn thử nghiệm. Cung cấp các đường dẫn này dưới dạng đường dẫn tương đối đối với gốc repo. Mọi gốc nguồn là thư mục con của(các) đường dẫn đã chỉ định sẽ được đánh dấu là kiểm thử.

test_sources:
  -   cts/tests/tests/example
  -   tests/mytests

other_languages

Không bắt buộc

Tính năng hỗ trợ Java được thêm vào theo mặc định. Bạn có thể thêm chế độ hỗ trợ cho các ngôn ngữ khác. ASfP cũng hỗ trợ C/C++ (cpp) và Rust (rust).

other_languages:
  -   cpp
  -   rust

build_config

Không bắt buộc

Tham số này cho phép bạn thêm các cờ hoặc biến môi trường tuỳ chỉnh vào các sự kiện bản dựng Soong. Cấu hình này áp dụng cho tất cả các thao tác trong IDE dẫn đến một bản dựng Soong, bao gồm cả cấu hình đồng bộ hoá và chạy.

build_config:
  flags:
    -   -j64
  env:
    SOONG_ALLOW_MISSING_DEPENDENCIES: true
    MY_CUSTOM_VAR: value