Ringkasan Android CLI

Android CLI adalah antarmuka command line yang memungkinkan Anda membangun untuk Android dengan lebih mudah dan efisien menggunakan alat pilihan Anda. Hal ini menstandardisasi kompetensi pengembangan inti untuk alur kerja yang mengutamakan agen, sehingga memberikan titik entri ke alat, keterampilan, dan pengetahuan resmi yang Anda butuhkan untuk mengembangkan aplikasi secara lebih efektif. Gemini juga dapat menyederhanakan CI, pemeliharaan, dan otomatisasi berbasis skrip 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. Agen Anda juga akan memiliki akses ke keterampilan Android dan Pusat Informasi Android khusus untuk membantu memastikan bahwa 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 kemampuan android-cli:

android init

Masalah umum

  • Perintah android emulator untuk Windows saat ini dinonaktifkan.

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 dibahas.

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 berikutnya. Anda dapat menggunakan setelan --sdk untuk mengganti sementara SDK Android default, bukan mengubah variabel lingkungan global setiap kali Anda ingin beralih. Untuk memeriksa Android SDK 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 [] dan argumen wajib tidak disertakan.

create

Penggunaan: android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]

Deskripsi: Lakukan inisialisasi project baru dari template. Untuk melihat opsi template, jalankan android create -h.

Argumen (wajib):

  • -o, --output - Jalur direktori project tujuan.

Opsi:

  • --dry-run - Menyimulasikan 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 membuat metadata deskriptif. Perintah ini mengidentifikasi dan menghasilkan 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 Pusat Informasi Android langsung dari CLI. Pertama, telusuri 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: Buat 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: Siapkan lingkungan Anda untuk agen dengan menginstal skill 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 hierarki tata letak. Jika dihilangkan, JSON akan dicetak langsung ke stdout.
  • -d, --diff - Menampilkan daftar hanya elemen tata letak yang telah berubah sejak snapshot internal terakhir diambil (terakhir kali tata letak dijalankan), bukan seluruh hierarki tata letak.

Contoh:: android layout --output=./hierarchy.json

skills add

Keahlian Android adalah petunjuk khusus yang dirancang untuk membantu agen lebih memahami dan menjalankan pola tertentu yang mengikuti praktik terbaik dan panduan tentang pengembangan Android. Untuk mempelajari lebih lanjut, lihat Pengantar keterampilan Android.

Penggunaan: android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]

Deskripsi: Menginstal kemampuan Android ke direktori kemampuan untuk semua agen yang terdeteksi. Jika Anda tidak memiliki direktori agen yang ada dan tidak menentukan agen tertentu, kemampuan akan diinstal untuk Gemini dan Antigravity di ~/.gemini/antigravity/skills.

Opsi:

  • --all - Menambahkan semua keterampilan Android sekaligus. Jika tidak disertakan (dan --skill tidak ditentukan), hanya skill android-cli yang akan diinstal.
  • --agent - Daftar agen yang dipisahkan koma untuk menginstal skill. Jika dihilangkan, skill akan diinstal untuk semua agen yang terdeteksi.
  • --skill - Nama skill yang ingin Anda instal. Jika tidak disertakan (dan --all tidak ditentukan), hanya skill android-cli yang akan diinstal.

Contoh: android skills add --agent='gemini' edge-to-edge

skills find

Penggunaan: android skills find <string>

Deskripsi: Temukan 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 kemampuan, termasuk deskripsi kemampuan dan agen yang sudah menginstalnya.

skills remove

Penggunaan: android skills remove [--agent] --skill=<skill-name>

Deskripsi: Menghapus keterampilan. Jika Anda tidak menentukan agen tertentu, skill akan dihapus untuk semua agen.

Argumen (wajib):

  • --skill - Nama skill yang akan dihapus.

Opsi:

  • --agent - Daftar agen yang dipisahkan koma untuk menghapus skill. 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 dicetak langsung 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 yang diberi anotasi, yang diambil menggunakan screen capture, ke dalam koordinat layar sebenarnya (x, y). Berguna untuk membuat skrip klik pada elemen tanpa harus menghitung posisinya secara manual.

Tanda:

  • --screenshot - Jalur ke screenshot yang diberi anotasi.
  • --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), maka perintah

android screen resolve --screenshot=ui.png --string="input tap #5"

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 lama.

Contoh:

  • android sdk install platforms/android-34 build-tools/34.0.0 - Instal paket Android SDK Platform 34 dan SDK Build Tools 34.0.0 versi terbaru dari saluran stabil.
  • android sdk install platforms/android-34@2 - Instal paket Android SDK Platform 34 versi 2.
  • android sdk install --canary system-images/android-35/google_apis/x86_6 - Instal image sistem Android 35 versi terbaru dari saluran canary.
  • android sdk install --force platforms/android-33@1 - Kembali ke versi 1 paket Android SDK Platform 33 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-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 ingin Anda 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 ada beberapa perangkat yang 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 channel (secara default channel stabil). Jika Anda tidak menentukan paket, semua paket akan diperbarui.

Opsi:

  • <package-name> - Nama paket yang akan diupdate.
  • --beta - Menyertakan paket beta.
  • --canary - Menyertakan paket canary.
  • --force - Memaksa downgrade ke versi lama.

Contoh:

  • android sdk update - Periksa dan instal update untuk semua yang ada di SDK Anda.
  • android sdk update build-tools/34.0.0 - Update paket Android SDK Build Tools 34.0.0 ke versi terbaru di saluran stabil.
  • android sdk update --canary platforms/android-35 - Update paket Android SDK Platforms 35 ke versi terbaru di saluran canary.

update

Penggunaan: android update

Deskripsi: Update Android CLI.

-V, --version

Deskripsi: Menampilkan versi Android CLI saat ini.