Android Studio untuk Platform (ASfP) adalah lingkungan pengembangan terintegrasi (IDE) yang direkomendasikan untuk mengembangkan platform Android, termasuk proyek Software Defined Vehicle (SDV) Android Automotive Operating System (AAOS). ASfP menyediakan serangkaian alat yang lengkap untuk pengeditan, pembangunan, pen-debug-an, dan pengujian kode, termasuk:
- Bantuan yang didukung AI (Gemini)
- Dukungan bahasa Rust, C, C++, Java
- Integrasi yang berguna untuk pengembangan SDV AAOS (misalnya, dukungan emulator Cuttlefish dan dukungan bahasa VSIDL)
Menginstal Android Studio untuk Platform
Untuk menginstal ASfP:
Download Android Studio untuk Platform.
Pilih versi yang paling sesuai dengan kebutuhan Anda:
- Stabil: Rilis produksi terbaru, direkomendasikan untuk sebagian besar pengguna
- Canary: Build akses awal dengan fitur terbaru, tetapi berpotensi kurang stabil
Ikuti petunjuk penginstalan yang diberikan di halaman download.
Menyiapkan project SDV AAOS
Untuk menyiapkan project SDV AAOS:
Pastikan Anda memiliki akses ke repositori kode sumber SDV AAOS dan telah menginisialisasi serta menyinkronkan checkout lokal Anda. Lihat Mendownload, membangun, dan menjalankan untuk mengetahui detail tentang cara mengakses sumber dan melakukan inisialisasi repositori.
Luncurkan Android Studio untuk Platform.
Jika Anda adalah pengguna baru, ikuti Wizard Penyiapan untuk menyesuaikan lingkungan pengembangan.
Membuat sebuah project baru.
- Jika Anda belum membuka project, klik New di layar Selamat Datang.
- Jika Anda sudah membuka project, klik Open atau pilih ASfP > Project > Import ASfP Project dari menu.
Lengkapi detail konfigurasi project di wizard:
Pemeriksaan repo: Tentukan jalur absolut ke root pemeriksaan kode sumber SDV AAOS lokal Anda (misalnya,
/path/to/sdv_source).target peluncuran: Masukkan target peluncuran yang sesuai untuk pengembangan SDV AAOS di Cuttlefish, misalnya,
sdv_core_cf-trunk_staging-userdebug. Lihat Memilih target untuk target lain yang tersedia.Sumber project: Cantumkan direktori atau modul awal yang ingin Anda sertakan dalam project atau klik ikon folder untuk membuka browser sistem file guna memilih direktori. Memilih terlalu banyak direktori atau modul akan memengaruhi pengindeksan dan performa penelusuran IDE, jadi sertakan hanya direktori atau modul yang relevan.
Dukungan bahasa: Pilih Rust dan C++ sebagai bahasa yang didukung.
Nama project: Beri nama deskriptif untuk project Anda.
Selesaikan penyiapan: Klik Selesai. ASfP membuat struktur project dan file konfigurasi
.asfp-project.
ASfP secara otomatis memulai proses sinkronisasi awal. ASfP menganalisis kode sumber Anda, menyelesaikan dependensi menggunakan sistem build Soong, dan membangun informasi yang diperlukan untuk fitur intelijen kode. Proses ini dapat memakan waktu yang cukup lama, terutama untuk sinkronisasi pertama.
Menyesuaikan project
File .asfp-project di root project memungkinkan penyesuaian lebih lanjut.
Anda dapat mengedit file ini untuk:
- Menambahkan atau menghapus direktori dan modul.
- Mengaktifkan dukungan untuk bahasa lain, seperti C++ atau Rust (Java dan Kotlin adalah default).
- Konfigurasi tanda build.
Untuk mengubah file konfigurasi, pilih ASfP > Project > Open Config. Lihat Ringkasan project untuk opsi konfigurasi yang tersedia.
Debug dan uji
Untuk men-debug dan menguji kode di ASfP, lihat Men-debug kode platform dan Menguji kode platform dengan atest.
Integrasi yang tersedia
ASfP dilengkapi dengan beberapa integrasi yang berguna untuk pengembangan SDV AAOS, termasuk dukungan untuk Cuttlefish dan Language Server Protocol (LSP) di VSIDL.
Plugin Cuttlefish
Plugin Cuttlefish memungkinkan pengguna membuat dan menjalankan perangkat Cuttlefish lokal langsung dari ASfP.
Instal Plugin
Plugin Cuttlefish sudah diinstal sebelumnya dengan ASfP dan tidak memerlukan penyiapan. Plugin memerlukan alat Cuttlefish untuk diinstal di perangkat. Ikuti petunjuk untuk menginstal alat Cuttlefish jika diperlukan.
Membuat perangkat Cuttlefish
Untuk membuat perangkat baru:
Buka jendela alat Pengelola Perangkat dengan memilih Tools > Device Manager atau dengan mengklik ikon Running Devices di panel kanan jika Pengelola Perangkat sudah disematkan di sana.
Klik ikon +, lalu pilih Create Cuttlefish Device.
Konfigurasi perangkat Cuttlefish baru. Anda dapat membuat perangkat Cuttlefish dengan dua cara:
Dari checkout pohon sumber Android lokal:
- Pilih jalur ke target build yang sesuai dengan konfigurasi peluncuran Anda (lihat Memilih target untuk mengetahui detail selengkapnya).
- Pilih jalur host.
- Secara opsional, pilih konfigurasi perangkat yang tersedia atau Tidak ada untuk konfigurasi default.
Dari konfigurasi kanonis (gunakan opsi ini untuk membuat beberapa perangkat dari satu konfigurasi):
- Pilih jalur ke konfigurasi perangkat.
- Secara opsional, berikan tanda penggantian untuk mengganti opsi konfigurasi.
Tunggu hingga perangkat Cuttlefish dibuat dan ditambahkan ke daftar perangkat yang berjalan di Pengelola Perangkat.
Pilih perangkat Cuttlefish dari menu Running Devices.
Anda dapat memulai atau menghentikan perangkat Cuttlefish satu per satu dengan mengklik ikon berhenti atau mulai di samping perangkat di Pengelola Perangkat.
Mengakses halaman perangkat Cuttlefish
Plugin Cuttlefish memiliki jendela alat yang menampilkan halaman Cuttlefish Device, tempat Anda dapat mengakses fitur pencerminan layar.
Untuk membuka jendela alat Cuttlefish, klik ikon ... di panel sisi kiri, lalu pilih Cuttlefish. Atau, Anda dapat menelusuri Cuttlefish di item menu Help > Find Action.
Language Server Protocol di VSIDL
Di VSIDL, LSP menyediakan serangkaian fitur IDE yang lengkap untuk meningkatkan alur kerja pengembangan Anda saat bekerja dengan file VSIDL (dengan ekstensi .vsidl) di ASfP.
Penyorotan sintaksis semantik
Server LSP menyediakan penyorotan sintaksis berdasarkan file VSIDL.
Fungsinya: Menyoroti kata kunci (
service_bundle,publisher), kolom (package:,message:), dan literal.Cara mencobanya: Buka file VSIDL apa pun. File diberi kode warna untuk membedakan kata kunci struktural dari ID yang ditentukan pengguna.
Diagnostik langsung (error dan peringatan)
Server LSP terus memvalidasi file dan melaporkan masalah secara real time.
Fungsinya: Mendeteksi error sintaksis, referensi jenis yang tidak valid, dan error lainnya di seluruh katalog dan dependensinya.
Cara mencoba: Buat salah ketik pada nama pesan (misalnya,
TiiirePressure). Garis berlekuk merah akan muncul di bawah salah ketik. Arahkan kursor ke kata untuk melihat pesan error, atau lihat daftar lengkap di jendela alat Problems di bagian bawah IDE.
Navigasi dan kecerdasan
Anda dapat menggunakan fitur navigasi dan kecerdasan untuk menjelajahi hubungan antara berbagai bagian katalog VSIDL Anda.
Penyelesaian otomatis: Tekan Control+Space untuk melihat saran untuk kata kunci, pesan protobuf, layanan RPC, topik, dan channel. Saran kata kunci mencakup penjelasan singkat dan bermanfaat tentang tujuannya langsung di menu penyelesaian. LSP juga menyediakan cuplikan smart untuk blok seperti
publisheratauserveruntuk mempercepat alur kerja Anda.Membuka definisi: Tahan Control dan klik (atau tekan Control+B) referensi pesan, layanan, topik, atau saluran untuk langsung membuka definisi sumbernya, meskipun berada di file VSIDL atau protobuf yang berbeda.
Menemukan referensi: Letakkan kursor Anda pada kata kunci
publisher,subscriber,server, atauclient, lalu tekan Alt+Shift+F7 untuk menemukan semua kemunculan.Informasi saat mengarahkan kursor: Pindahkan kursor ke jenis atau properti (atau tekan Control+Q). Tooltip akan muncul dan menampilkan komentar dokumentasinya (jika ada).
Fitur struktural
Server LSP membantu Anda mengelola dan menavigasi struktur file VSIDL besar:
Simbol dokumen (struktur): Tekan Control+F12 untuk melihat tooltip navigasi cepat, atau buka jendela alat Structure (Control+Alt+7) untuk melihat tampilan hierarki semua paket dan unit dalam file.
Rentang pelipatan: Klik ikon > atau V di gutter (di samping nomor baris) untuk menciutkan atau meluaskan blok logis besar seperti
service_bundleatau definisi pemetaan.Pemformatan dokumen: Tekan Control+Alt+L untuk memformat ulang file secara otomatis, sehingga indentasi dan penspasian menjadi konsisten.