Project di Android Studio for Platform (ASfP) berisi semua hal yang menentukan ruang kerja Anda untuk codebase AOSP, mulai dari kode sumber dan aset hingga kode pengujian dan konfigurasi build Soong.
Dibangun di atas Model Ruang Kerja IntelliJ, ASfP membuat project platform besar
dan memulihkan model project Anda dari snapshot yang di-cache saat memulai. Konten
di dalam direktori out/ dan file gen yang dihasilkan dikecualikan dari cakupan penelusuran
project agar navigasi simbol dan file tetap cepat.
Konfigurasi project (.asfp-project)
File YAML .asfp-project, yang terletak di root direktori project Anda,
mengontrol konfigurasi project ASfP. File ini menentukan direktori, modul Soong, bahasa, dan flag build yang disertakan dalam ruang kerja Anda.
Anda dapat membuka konfigurasi project kapan saja menggunakan salah satu opsi berikut:
- Pilih ASfP > Project > Open Config dari menu utama.
- Klik dua kali
.asfp-projectdi root jendela alat Project. - Klik Open Config di toolbar jendela alat Soong.
Setelah mengedit .asfp-project, jalankan sinkronisasi project agar perubahan Anda diterapkan.
Template project yang dapat dibagikan (ekspor dan impor)
Tim yang mengerjakan subsistem yang sama (seperti SystemUI, Settings, SurfaceFlinger,
atau Automotive) dapat membagikan konfigurasi .asfp-project standar sebagai template:
Export to template: Klik kanan tab editor
.asfp-projectatau pilih ASfP > Project > Export Config to Template untuk menyimpan file template yang dapat dibagikan.
Impor dari template: Saat membuat project baru di wizard penyiapan project, pilih Impor dari template dan pilih file YAML
.asfp-projectbersama untuk mengisi otomatis direktori, modul, dan setelan build.
Parameter konfigurasi
File .asfp-project mendukung parameter berikut:
repo
Wajib: Jalur absolut ke root checkout repositori platform Android Anda.
repo: /path/to/aosp
lunch
Wajib: Target peluncuran yang terkait dengan project Anda. Digunakan untuk semua tindakan build, sinkronisasi, dan deployment Soong.
lunch: aosp_cf_x86_64_phone-aosp_current-userdebug
directories
Opsional: Direktori yang akan disertakan atau dikecualikan dari project Anda (relatif terhadap root repo). Direktori dan root sumber yang di-symlink didukung.
directories:
include:
- frameworks/base
- packages/apps/Settings
exclude:
- vendor
- out/soong
modules
Opsional: Modul Soong tertentu yang akan disertakan atau dikecualikan dari project Anda.
Berfungsi bersama dengan directories. Nama modul lengkap dan singkat didukung.
modules:
include:
- SystemUI
- frameworks/base/services/core/java:services
exclude:
- UnusedModule
test_sources
Opsional: Jalur relatif untuk ditandai sebagai root sumber pengujian saat heuristik sumber pengujian otomatis ASfP memerlukan penggantian manual.
test_sources:
- cts/tests/tests/example
- tests/mytests
other_languages
Opsional: Dukungan Java, Kotlin, dan Android.bp diaktifkan secara default. Tambahkan
cpp untuk C dan C++ atau rust untuk dukungan bahasa Rust:
other_languages:
- cpp
- rust
build_config
Opsional: Flag kustom atau variabel lingkungan yang diteruskan ke pemanggilan build Soong yang dipicu oleh IDE (termasuk sinkronisasi, build gutter, dan konfigurasi run):
build_config:
flags:
- -j64
env:
SOONG_PARTIAL_COMPILE: true
SOONG_ALLOW_MISSING_DEPENDENCIES: true
Mode sinkronisasi dan jendela alat Soong
ASfP menyediakan beberapa cara untuk menyinkronkan project IDE dengan checkout AOSP, tergantung pada kebutuhan alur kerja Anda. Akses tindakan ini dari menu ASfP > Sync atau jendela alat Soong:
- Sinkronkan Project: Menganalisis direktori dan modul yang dikonfigurasi, lalu memperbarui pengindeksan dan dependensi IDE.
- Sinkronisasi Parsial: Hanya menyinkronkan subset modul atau direktori yang ditargetkan, sehingga menghemat waktu saat bekerja di area pohon yang dilokalkan.
- No-Build Sync: Memperbarui struktur project IDE dan root sumber tanpa menjalankan langkah build Soong—berguna saat Anda telah menambahkan atau memindahkan file sumber atau sudah membangun dari terminal.
- Sync and Full Build: Menggabungkan sinkronisasi project dengan build Soong penuh dalam satu langkah.
Jendela alat Soong (View > Tool Windows > Soong) menampilkan indikator status real-time untuk setiap node tugas sinkronisasi, tombol build akses cepat, dan eksekusi perintah Soong.
Build, deployment, dan navigasi Android.bp dalam editor
ASfP menyediakan dukungan editor terintegrasi untuk file Android.bp:
Membangun, menjalankan, dan men-debug target dari gutter
Buka file Android.bp apa pun di project Anda untuk mem-build atau meluncurkan target dari dua
ikon gutter:
- Ikon build (semua modul bernama): Muncul di samping
name:pada setiap modul bernama (cc_library_shared,java_library,rust_binary,android_app, dan target pengujian) untuk mem-build target Soong tersebut (Build "<module>"). - Ikon Jalankan atau Debug (
*_test,*_test_host, danandroid_app): Klik Jalankan di samping modul pengujian atau deklarasiandroid_appuntuk menjalankan atau men-debug modul. Modulandroid_testdi-debug melaluiatest, dan modulcc_test*danrust_test*diluncurkan di bawah LLDB bawaan.

Konfigurasi menjalankan flash dan deployment kontekstual
Untuk modul yang dapat di-deploy dalam file Android.bp, Anda dapat membuat dan meluncurkan konfigurasi eksekusi Soong Deploy kontekstual dari gutter atau menu konteks klik kanan dengan fitur berikut:
- Metode deployment: Deploy menggunakan
adb, skrip shell kustom,adevice, atauflashall. - Pre-run Soong build hooks: Mem-build modul Soong target secara otomatis sebelum men-deploy ke perangkat terhubung atau perangkat virtual Cuttlefish.

Berpindah antara kode sumber dan Android.bp
Dari file atau direktori sumber mana pun di jendela alat Project, tab editor, atau
menu konteks editor, klik kanan dan pilih Open Corresponding Android.bp
File. ASfP menemukan dan menandai deklarasi modul Android.bp yang
mengompilasi file tersebut, menyelesaikan blok defaults, pola srcs karakter pengganti, dan
link simbolis.

Dokumentasi tooltip dan kecerdasan editor Android.bp
- Navigasi lintas file dan jumlah penggunaan: Klik Control pada referensi modul, file
srcs, atausoong_config_module_typeuntuk beralih ke deklarasinya. Petunjuk inlayN Usagesyang dapat diklik akan muncul di samping nama modul dan targetsrcsbersama, dan modul library yang tidak direferensikan akan diredupkan secara visual. - Tooltip dokumentasi properti Soong: Arahkan kursor ke properti
mana pun dalam file
Android.bp—termasuk properti yang tercakup dalam target atau arsitektur di bagiantarget,arch, danmultilib—untuk melihat tanda tangan dan dokumentasi jenis Soong secara inline.

Pengelolaan perangkat virtual Cuttlefish dan pencerminan multilayar
ASfP menyertakan plugin Cuttlefish bawaan untuk platform, Android Automotive OS (AAOS), dan developer Software-Defined Vehicle (SDV) yang menggunakan perangkat virtual Cuttlefish yang di-build secara lokal:
- Penyiapan multiperangkat di Pengelola Perangkat: Buat dan kelola penyiapan perangkat virtual Cuttlefish multiperangkat di Pengelola Perangkat menggunakan checkout AOSP lokal Anda (
$ANDROID_BUILD_TOPdan$ANDROID_PRODUCT_OUT). - Pencerminan tampilan multi-layar di jendela alat Cuttlefish: Buka View > Tool Windows > Cuttlefish untuk pencerminan tampilan multi-layar Cuttlefish bawaan sehingga Anda dapat melihat dan berinteraksi dengan beberapa layar otomotif sekaligus untuk alur kerja AAOS dan SDV.
