Android CLI adalah antarmuka command line yang memungkinkan Anda membuat aplikasi untuk Android dengan lebih mudah dan efisien menggunakan alat pilihan Anda. Antarmuka ini menstandarkan kompetensi pengembangan inti untuk alur kerja yang mengutamakan agen, sehingga menyediakan titik entri ke alat, keterampilan, dan pengetahuan resmi yang Anda butuhkan untuk mengembangkan aplikasi secara lebih efektif. Antarmuka ini juga dapat menyederhanakan CI, pemeliharaan, dan otomatisasi berskrip lainnya untuk sifat pengembangan Android yang semakin terdistribusi.
Misalnya, agen atau skrip dapat menggunakan CLI untuk mengotomatiskan penyiapan lingkungan, membuat project baru dari template, dan mengelola perangkat virtual langsung dari terminal Anda. CLI ini juga memberi agen Anda akses ke keterampilan Android dan Knowledge Base Android khusus untuk membantu memastikan project Anda menerapkan pola dan praktik terbaik yang direkomendasikan Android.
Menginstal Android CLI
Untuk menginstal Android CLI, ikuti langkah-langkah berikut:
Untuk memastikan Anda menggunakan versi terbaru, update Android CLI:
android update
Untuk memeriksa apakah Android CLI sudah diinstal di komputer Anda, jalankan which android atau command -v android: jika menampilkan jalur, berarti sudah diinstal.
Menyiapkan untuk agen
Untuk membantu agen memahami dan menggunakan Android CLI, jalankan init untuk menginstal keterampilan android-cli:
android init
Masalah umum
- Perintah
android emulatoruntuk Windows saat ini dinonaktifkan. - Download Android CLI dari Windows PowerShell saat ini tidak didukung.
Jika Anda mengalami masalah atau ingin memberikan masukan, harap laporkan bug.
Mengonfigurasi Android CLI
Buat file .androidrc untuk menerapkan flag dan opsi secara otomatis setiap kali Anda memanggil Android CLI. Simpan file di lokasi berikut, bergantung pada sistem operasi Anda:
- macOS dan Linux:
~/.androidrc - Windows:
%USERPROFILE%\.androidrc
Tambahkan flag yang ingin Anda terapkan secara otomatis ke file, satu per baris.
Misalnya, untuk membuat Android CLI menggunakan Android SDK tertentu secara default
setiap kali, tambahkan flag --sdk ke file Anda:
--sdk=<path-to-sdk>
Opsi global
Ini adalah flag opsional yang dapat Anda gunakan dengan perintah Android CLI lainnya.
-h, --help
Penggunaan: android <command> -h
Deskripsi: Menampilkan panduan bantuan untuk alat atau perintah tertentu yang dimaksud.
Contoh:
android -handroid create -h
--sdk
Penggunaan: android --sdk=<path-to-sdk> <command>
Deskripsi: Jalur ke Android SDK yang ingin Anda gunakan untuk perintah yang mengikuti. Anda dapat menggunakan setelan --sdk untuk mengganti Android SDK default untuk sementara
, bukan mengubah
variabel lingkungan global setiap kali Anda ingin
beralih. Untuk memeriksa Android SDK mana yang Anda gunakan secara default, jalankan
android info.
Contoh: android --sdk=<path/to/sdk> sdk list
Perintah
Bagian ini mencantumkan semua perintah Android CLI dan menjelaskan fungsinya.
Semua perintah ini harus diawali dengan android, misalnya
android create, android run, dan sebagainya. Pengubah opsional disertakan dalam tanda kurung [], sedangkan argumen wajib tidak.
create
Penggunaan: android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]
Deskripsi: Melakukan inisialisasi project baru dari template. Untuk melihat opsi template, jalankan android create -h.
Argumen (wajib):
-o, --output- Jalur direktori project tujuan.
Opsi:
--dry-run- Mensimulasikan seluruh proses pembuatan project tanpa benar-benar menyimpan file apa pun. Misalnya, Anda dapat melakukan uji coba untuk melihat fungsi berbagai template sebelum memilih salah satunya.--verbose- Mengaktifkan output verbose, termasuk informasi seperti file mana yang disalin dari template.--name=<application-name>- Nama direktori project. Jika dihilangkan, direktori output akan digunakan.<template-name>- Nama template untuk membuat project baru. Jika dihilangkan,empty-activity-agp-9akan digunakan.
Contoh: android create --dry-run --verbose empty-activity-agp-9
create list
Penggunaan: android create list
Deskripsi: Mencantumkan semua template yang tersedia untuk membuat project baru.
describe
Penggunaan: android describe [--project_dir=<project-directory>]
Deskripsi: Menganalisis project Android untuk menghasilkan metadata deskriptif. Perintah ini mengidentifikasi dan menampilkan jalur ke file JSON yang menjelaskan struktur project, termasuk target build dan lokasi artefak output yang sesuai (misalnya, file APK). Informasi ini memungkinkan alat dan perintah lain menemukan artefak build secara efisien.
Opsi:
--project_dir- Direktori project yang akan dijelaskan. Jika dihilangkan, direktori saat ini akan digunakan.
Contoh: android describe --project_dir=/path/to/your/project
docs
Penggunaan:
android docs search <query>android docs fetch <kb-url>
Deskripsi: Perintah android docs adalah proses dua langkah untuk
mengakses Knowledge Base Android langsung dari CLI.
Pertama, cari dokumentasi yang terkait dengan kueri Anda menggunakan perintah search. Hasil penelusuran akan menyertakan URL khusus yang dimulai dengan kb://, yang kemudian dapat Anda gunakan dengan perintah fetch untuk menampilkan perintah dokumentasi ke terminal.
Contoh:
android docs search 'How do I improve my app performance?'android docs fetch kb://android/topic/performance/overview
emulator create
Penggunaan: android emulator create [--list-profiles] [--profile=<profile-name>]
Deskripsi: Membuat perangkat virtual.
Opsi:
--list-profiles- Mencantumkan profil perangkat yang dapat digunakan untuk membuat perangkat.--profile=<profile-name>- Membuat perangkat dengan profil yang ditentukan. Jika dihilangkan, profilmedium_phoneakan dibuat.
emulator list
Penggunaan: android emulator list
Deskripsi: Mencantumkan perangkat virtual yang tersedia.
emulator start
Penggunaan: android emulator start <device-name>
Deskripsi: Meluncurkan perangkat virtual yang ditentukan.
Argumen (wajib):
<device-name>- Nama perangkat yang akan dimulai (misalnya,medium_phone). Gunakanandroid emulator listuntuk melihat perangkat yang tersedia.
Contoh: android emulator start medium_phone
emulator stop
Penggunaan: android emulator stop <device-serial-number>
Deskripsi: Menghentikan perangkat virtual yang ditentukan.
Argumen (wajib):
<device-serial-number>- Nomor seri perangkat yang akan dihentikan.
Contoh: android emulator stop emulator-5554
info
Penggunaan: android info
Deskripsi: Menampilkan jalur ke Android SDK default yang digunakan. Untuk mengubah
Android SDK yang digunakan, gunakan --sdk.
init
Penggunaan: android init
Deskripsi: Menyiapkan lingkungan Anda untuk agen dengan menginstal keterampilan android-cli.
layout
Penggunaan: android layout [--pretty] [--output] [--diff]
Deskripsi: Menampilkan tata letak UI aplikasi Android aktif (terhubung melalui perangkat fisik atau emulator) dalam format JSON.
Opsi:
-p, --pretty- Memformat output JSON dengan indentasi dan jeda baris agar mudah dibaca.-o, --output- Menentukan lokasi file untuk menyimpan pohon tata letak. Jika dihilangkan, JSON akan langsung dicetak ke stdout.-d, --diff- Menampilkan daftar elemen tata letak yang telah berubah sejak snapshot internal terakhir diambil (terakhir kali tata letak dijalankan), bukan pohon tata letak lengkap.
Contoh:: android layout --output=./hierarchy.json
skills add
Keterampilan Android adalah petunjuk khusus yang dirancang untuk membantu agen memahami dan menjalankan pola tertentu yang mengikuti praktik terbaik dan panduan pengembangan Android dengan lebih baik. Untuk mempelajari lebih lanjut, lihat Pengantar keterampilan Android.
Penggunaan: android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]
Deskripsi: Menginstal keterampilan Android ke direktori keterampilan untuk semua agen yang terdeteksi. Jika Anda tidak memiliki direktori agen yang ada dan tidak menentukan agen tertentu, keterampilan akan diinstal untuk Gemini dan Antigravity di ~/.gemini/antigravity/skills.
Opsi:
--all- Menambahkan semua keterampilan Android sekaligus. Jika dihilangkan (dan--skilltidak ditentukan), hanya keterampilanandroid-cliyang akan diinstal.--agent- Daftar agen yang dipisahkan koma untuk menginstal keterampilan. Jika dihilangkan, keterampilan akan diinstal untuk semua agen yang terdeteksi.--skill- Nama keterampilan yang ingin Anda instal. Jika dihilangkan (dan--alltidak ditentukan), hanya keterampilanandroid-cliyang akan diinstal.
Contoh: android skills add --agent='gemini' edge-to-edge
skills find
Penggunaan: android skills find <string>
Deskripsi: Menemukan keterampilan yang cocok dengan string tertentu.
Argumen (wajib):
string- String yang cocok dengan deskripsi keterampilan.
Contoh: android skills find 'performance'
skills list
Penggunaan: android skills list [--long]
Deskripsi: Mencantumkan keterampilan yang tersedia.
Opsi:
--long- Menampilkan informasi tambahan untuk setiap keterampilan, termasuk deskripsi keterampilan dan agen yang sudah diinstal.
skills remove
Penggunaan: android skills remove [--agent] --skill=<skill-name>
Deskripsi: Menghapus keterampilan. Jika Anda tidak menentukan agen tertentu, keterampilan akan dihapus untuk semua agen.
Argumen (wajib):
--skill- Nama keterampilan yang akan dihapus.
Opsi:
--agent- Daftar agen yang dipisahkan koma untuk menghapus keterampilan. Jika dihilangkan, keterampilan akan dihapus untuk semua agen.
Contoh: android skills remove --agent='gemini' --skill=edge-to-edge
screen capture
Penggunaan: android screen capture [--output] [--annotate]
Deskripsi: Mengambil screenshot perangkat yang terhubung.
Opsi:
-o, --output- Menentukan lokasi file untuk menyimpan screenshot. Jika dihilangkan, data PNG mentah akan langsung dicetak ke stdout.-a, --annotate- Menggambar kotak pembatas berlabel di sekitar semua elemen UI yang terdeteksi pada gambar, untuk digunakan dengan perintahresolve.
Contoh: android screen capture --output=ui.png
screen resolve
Penggunaan: android screen resolve --screenshot=<path> --string=<string>
Deskripsi: Menerjemahkan label visual dari screenshot beranotasi, yang diambil menggunakan screen capture, ke koordinat layar sebenarnya (x, y).
Berguna untuk membuat skrip klik pada elemen tanpa harus menghitung posisinya secara manual.
Tanda:
--screenshot- Jalur ke screenshot beranotasi.--string- String yang menyertakan setidaknya satu placeholder yang sesuai dengan label elemen UI dalam format#<number>. Bagian#<number>akan diganti dengan koordinat layar.
Contoh:
Jika label 5 berada di koordinat (500, 1000), perintah
android screen resolve --screenshot=ui.png --string="input tap #5"
akan menampilkan output
input tap 500 1000
sdk install
Penggunaan: android sdk install <package[@version]> [--beta] [--canary] [--force]
Deskripsi: Menginstal paket SDK yang ditentukan.
Argumen (wajib):
package[@version]- Daftar paket yang dipisahkan spasi untuk diinstal. Jika versi tidak ditentukan, versi terbaru paket di saluran (secara default saluran stabil) akan diinstal.
Opsi:
--beta- Menyertakan paket beta.--canary- Menyertakan paket canary.--force- Memaksa downgrade ke versi yang lebih lama.
Contoh:
android sdk install platforms/android-34 build-tools/34.0.0- Menginstal versi terbaru paket Android SDK Platform 34 dan SDK Build Tools 34.0.0 dari saluran stabil.android sdk install platforms/android-34@2- Menginstal paket Android SDK Platform 34 versi 2.android sdk install --canary system-images/android-35/google_apis/x86_6- Menginstal versi terbaru image sistem Android 35 dari saluran canary.android sdk install --force platforms/android-33@1- Mengembalikan ke paket Android SDK Platform 33 versi 1 dari saluran stabil.
sdk list
Penggunaan: android sdk list <package-pattern>
Deskripsi: Mencantumkan paket SDK yang diinstal dan tersedia.
Argumen (wajib):
<package-pattern>- Memfilter paket menurut pola. Mendukung ekspresi reguler.
Opsi:
--all- Menampilkan semua paket yang diinstal dan tersedia.--all-versions- Menampilkan semua versi untuk setiap paket.--beta- Menyertakan paket beta.--canary- Menyertakan paket canary.
sdk remove
Penggunaan: android sdk remove <package-name>
Deskripsi: Menghapus paket dari SDK.
Argumen (wajib):
<package-name>- Nama paket yang akan dihapus.
Contoh: android sdk remove build-tools/36.1.0
run
Penggunaan: android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>
Deskripsi: Men-deploy aplikasi Android ke perangkat atau emulator yang terhubung. Tindakan ini tidak melakukan langkah build apa pun; Anda harus memberikan jalur ke file APK yang ingin diinstal.
Argumen (wajib):
--apks- Daftar jalur yang dipisahkan koma ke file APK yang Anda ingin instal. Jalur ini relatif terhadap lokasi Anda saat ini di sistem file.
Opsi:
--activity- Nama aktivitas yang akan diluncurkan setelah APK diinstal. Jika ada beberapa aktivitas, Anda harus menentukan satu aktivitas untuk diluncurkan pada awalnya.--debug- Men-deploy aplikasi dalam mode debug. Setelah menjalankan aplikasi dalam mode debug, Anda harus menghubungkan debugger dari IDE, seperti Android Studio, atau alat command line untuk memulai proses debug.--device- Nomor seri perangkat atau emulator target. Hanya diperlukan jika beberapa perangkat terhubung. Untuk menemukan nomor seri perangkat, jalankanadb devices.--type- Jenis komponen yang akan dimulai. Gunakan ini jika Anda ingin memulai layanan latar belakang secara langsung, bukan aktivitas UI. Jenis yang didukung:ACTIVITYWATCH_FACETILECOMPLICATIONDECLARATIVE_WATCH_FACE
Contoh:
android run --apks=app/build/outputs/apk/debug/app-debug.apk- Men-deploy satu APK ke perangkat default.android run --apks=base.apk,density-hdpi.apk,lang-en.apk- Men-deploy beberapa APK ke perangkat default.android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService- Menguji layanan tanpa aktivitas.android run --apks=app-debug.apk --device=emulator-5554- Men-deploy APK ke perangkat tertentu.
sdk update
Penggunaan: android sdk update [--beta] [--canary] [<package-name>]
Deskripsi: Mengupdate satu atau semua paket ke versi terbaru di saluran (secara default saluran stabil). Jika Anda tidak menentukan paket, semua paket akan diupdate.
Opsi:
<package-name>- Nama paket yang akan diupdate.--beta- Menyertakan paket beta.--canary- Menyertakan paket canary.--force- Memaksa downgrade ke versi yang lebih lama.
Contoh:
android sdk update- Memeriksa dan menginstal update untuk semua hal di SDK Anda.android sdk update build-tools/34.0.0- Mengupdate paket Android SDK Build Tools 34.0.0 ke versi terbaru di saluran stabil.android sdk update --canary platforms/android-35- Mengupdate paket Android SDK Platforms 35 ke versi terbaru di saluran canary.
update
Penggunaan: android update
Deskripsi: Mengupdate Android CLI.
-V, --version
Deskripsi: Menampilkan versi Android CLI saat ini.