Ringkasan Android CLI

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:

  1. Download Android CLI.

  2. 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 emulator untuk 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 -h
  • android 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-9 akan 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, profil medium_phone akan 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). Gunakan android emulator list untuk 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 --skill tidak ditentukan), hanya keterampilan android-cli yang 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 --all tidak ditentukan), hanya keterampilan android-cli yang 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 perintah resolve.

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, jalankan adb devices.
  • --type - Jenis komponen yang akan dimulai. Gunakan ini jika Anda ingin memulai layanan latar belakang secara langsung, bukan aktivitas UI. Jenis yang didukung:
    • ACTIVITY
    • WATCH_FACE
    • TILE
    • COMPLICATION
    • DECLARATIVE_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.