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