Ringkasan project

Project di Android Studio untuk Platform (ASfP) berisi semua hal yang mendefinisikan ruang kerja Anda untuk codebase AOSP, mulai dari kode sumber dan aset hingga kode pengujian dan konfigurasi build.

Saat Anda memulai project baru, ASfP akan membuat struktur yang diperlukan untuk semua file Anda dan membuatnya terlihat di jendela Project. Untuk membuka jendela ini, pilih View > Tool Windows > Project.

Halaman ini memberikan ringkasan komponen utama dalam konfigurasi project Anda.

Konfigurasi project (.asfp-project)

Konfigurasi project ASfP dikontrol oleh file .asfp-project, yang terletak di root direktori project Anda. File YAML ini penting untuk mengontrol apa yang masuk ke project Anda dan cara kerja fitur penting. Anda dapat membukanya melalui menu utama menggunakan ASfP > Project > Open Config atau dengan menemukannya di tampilan project.

Setelah pembuatan project, konfigurasi dibuat berdasarkan spesifikasi yang diberikan pengguna. Semua parameter dalam konfigurasi dapat diedit kapan saja untuk mengubah spesifikasi project, misalnya untuk mengupdate direktori atau modul project, yang setelahnya sinkronisasi diperlukan agar perubahan diterapkan.

Parameter konfigurasi

Berikut adalah parameter utama yang dapat Anda konfigurasi di file .asfp-project:

repo

Wajib

Jalur absolut ke root repositori platform Android Anda.

repo: /path/to/aosp

lunch

Wajib

Target peluncuran yang akan dipasangkan dengan project Anda. Ini digunakan untuk semua tindakan build Soong, termasuk sinkronisasi dan konfigurasi eksekusi yang relevan.

lunch: your-product-variant-userdebug

directories

Opsional

Direktori yang akan disertakan atau dikecualikan dari project Anda. Jalur ini harus berupa jalur relatif terhadap root repo.

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

modules

Opsional

Modul yang akan disertakan atau dikecualikan dari project Anda. Ini berfungsi bersama dengan directories yang ditentukan sebelumnya. Nama lengkap dan singkat didukung.

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

test_sources

Opsional

ASfP mencoba membedakan antara sumber produksi dan pengujian, tetapi dalam beberapa kasus, Anda mungkin perlu menandai sumber pengujian secara eksplisit. Berikan ini sebagai jalur relatif sehubungan dengan root repo. Setiap akar sumber yang merupakan subdirektori dari jalur yang ditentukan akan ditandai sebagai pengujian.

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

other_languages

Opsional

Dukungan Java disertakan secara default. Anda dapat menambahkan dukungan untuk bahasa lain. ASfP juga mendukung C/C++ (cpp) dan Rust (rust).

other_languages:
  -   cpp
  -   rust

build_config

Opsional

Parameter ini memungkinkan Anda menambahkan flag atau variabel lingkungan kustom ke peristiwa build Soong. Konfigurasi ini berlaku untuk semua tindakan di IDE yang menghasilkan build Soong, termasuk konfigurasi sinkronisasi dan run.

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