Android KSA'ya genel bakış

Android CLI, istediğiniz aracı kullanarak Android için daha kolay ve verimli bir şekilde geliştirme yapmanızı sağlayan bir komut satırı arayüzüdür. Temsilci öncelikli iş akışları için temel geliştirme yeterliliklerini standartlaştırır. Daha etkili bir şekilde geliştirme yapmak için ihtiyaç duyduğunuz resmi araçlara, becerilere ve bilgilere giriş noktası sağlar. Ayrıca, Android geliştirmenin giderek daha fazla dağıtılmış yapısı için CI, bakım ve diğer tüm komut dosyası oluşturma otomasyonlarını kolaylaştırabilir.

Örneğin, bir temsilci veya komut dosyası, ortam kurulumunu otomatikleştirmek, şablonlardan yeni projeler oluşturmak ve sanal cihazları doğrudan terminalinizden yönetmek için KSA'yı kullanabilir. Ayrıca, projelerinizde Android'in önerdiği kalıpların ve en iyi uygulamaların kullanılmasını sağlamak için aracılarınıza Android becerilerine ve özel Android Bilgi Bankası'na erişim olanağı tanır.

Android CLI'yı yükleme

Android CLI'yı yüklemek için aşağıdaki adımları uygulayın:

  1. Android KSA'yı indirin.

  2. En son sürümü kullandığınızdan emin olmak için Android KSA'yı güncelleyin:

    android update
    

Android CLI'nın makinenizde yüklü olup olmadığını kontrol etmek için which android veya command -v android komutunu çalıştırın. Bir yol döndürülürse Android CLI yüklüdür.

Temsilciler için kurulum

Temsilcilerin Android CLI'yı anlamasına ve kullanmasına yardımcı olmak için init komutunu çalıştırarak android-cli becerisini yükleyin:

android init

Bilinen sorunlar

  • Windows için android emulator komutu şu anda devre dışı.

Genel seçenekler

Bunlar, diğer Android KSA komutlarıyla kullanabileceğiniz isteğe bağlı işaretlerdir.

-h, --help

Kullanım: android <command> -h

Açıklama: Söz konusu araç veya komutla ilgili yardım kılavuzunu gösterir.

Örnekler:

  • android -h
  • android create -h

--sdk

Kullanım: android --sdk=<path-to-sdk> <command>

Açıklama: Aşağıdaki komut için kullanmak istediğiniz Android SDK'sının yolu. Geçiş yapmak istediğiniz her seferde global ortam değişkenlerinizi değiştirmek yerine --sdk ayarını kullanarak varsayılan Android SDK'yı geçici olarak geçersiz kılabilirsiniz. Varsayılan olarak hangi Android SDK'sını kullandığınızı kontrol etmek için android info komutunu çalıştırın.

Örnek: android --sdk=<path/to/sdk> sdk list

Komutlar

Bu bölümde, tüm Android CLI komutları listelenir ve ne yaptıkları açıklanır. Bu komutların tümünün önüne android eklenmelidir. Örneğin android create, android run vb. İsteğe bağlı değiştiriciler köşeli parantez [] içine alınır, zorunlu bağımsız değişkenler ise alınmaz.

create

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

Açıklama: Şablondan yeni bir proje başlatın. Şablon seçeneklerini görmek için android create -h komutunu çalıştırın.

Arguments (zorunlu):

  • -o, --output - Hedef proje dizini yolu.

Seçenekler:

  • --dry-run - Herhangi bir dosyayı kaydetmeden proje oluşturma sürecinin tamamını simüle eder. Örneğin, bir şablonu kullanmaya karar vermeden önce farklı şablonların ne yaptığını görmek için deneme çalışması yapabilirsiniz.
  • --verbose: Hangi dosyaların şablondan kopyalandığı gibi bilgileri içeren ayrıntılı çıkışı etkinleştirir.
  • --name=<application-name> - Proje dizininin adı. Boş bırakılırsa çıkış dizini kullanılır.
  • <template-name>: Yeni bir proje oluşturmak için kullanılacak şablonun adı. Boş bırakılırsa empty-activity-agp-9 kullanılır.

Örnek: android create --dry-run --verbose empty-activity-agp-9

create list

Kullanım: android create list

Açıklama: Yeni bir proje oluşturmak için kullanılabilecek tüm şablonları listeleyin.

describe

Kullanım: android describe [--project_dir=<project-directory>]

Açıklama: Açıklayıcı meta veriler oluşturmak için bir Android projesini analiz eder. Bu komut, derleme hedefleri ve bunlara karşılık gelen çıkış yapısı konumları (ör. APK dosyaları) dahil olmak üzere projenin yapısını ayrıntılı olarak açıklayan JSON dosyalarının yollarını tanımlar ve çıkarır. Bu bilgiler, diğer araçların ve komutların derleme yapılarını verimli bir şekilde bulmasını sağlar.

Seçenekler:

  • --project_dir - Açıklanacak proje dizini. Boş bırakılırsa geçerli dizin kullanılır.

Örnek: android describe --project_dir=/path/to/your/project

docs

Kullanım:

  • android docs search <query>
  • android docs fetch <kb-url>

Açıklama: android docs komutu, Android Bilgi Bankası'na doğrudan KSA'dan erişmek için iki adımlı bir işlemdir. Öncelikle, search komutunu kullanarak sorgunuzla ilgili dokümanları arayın. Arama sonuçlarında kb:// ile başlayan özel URL'ler yer alır. Bu URL'leri daha sonra fetch komutuyla kullanarak doküman komutlarını terminale aktarabilirsiniz.

Örnekler:

  • android docs search 'How do I improve my app performance?'
  • android docs fetch kb://android/topic/performance/overview

emulator create

Kullanım: android emulator create [--list-profiles] [--profile=<profile-name>]

Açıklama: Sanal cihaz oluşturun.

Seçenekler:

  • --list-profiles - Cihaz oluşturmak için kullanılabilecek cihaz profillerini listeleyin.
  • --profile=<profile-name> - Belirtilen profille bir cihaz oluşturun. Bu parametre atlanırsa medium_phone profili oluşturulur.

emulator list

Kullanım: android emulator list

Açıklama: Kullanılabilir sanal cihazları listeleyin.

emulator start

Kullanım: android emulator start <device-name>

Açıklama: Belirtilen sanal cihazı başlatır.

Arguments (zorunlu):

  • <device-name>: Başlatılacak cihaz adı (ör. medium_phone). Kullanılabilir cihazları görmek için android emulator list komutunu kullanın.

Örnek: android emulator start medium_phone

emulator stop

Kullanım: android emulator stop <device-serial-number>

Açıklama: Belirtilen sanal cihazı durdurur.

Arguments (zorunlu):

  • <device-serial-number> - Durdurulacak cihazın seri numarası.

Örnek: android emulator stop emulator-5554

info

Kullanım: android info

Açıklama: Kullanılan varsayılan Android SDK'sının yolunu gösterir. Kullanılan Android SDK'yı değiştirmek için --sdk simgesini kullanın.

init

Kullanım: android init

Açıklama: android-cli becerisini yükleyerek ortamınızı temsilciler için ayarlayın.

layout

Kullanım: android layout [--pretty] [--output] [--diff]

Açıklama: Etkin Android uygulamasının (fiziksel bir cihaz veya emülatör aracılığıyla bağlanmış) kullanıcı arayüzü yerleşimini JSON biçiminde döndürür.

Seçenekler:

  • -p, --pretty - JSON çıkışını girintiler ve satır sonlarıyla biçimlendirerek okunabilir hale getirir.
  • -o, --output: Düzen ağacının kaydedileceği dosya konumunu belirtir. Atlanırsa JSON doğrudan stdout'a yazdırılır.
  • -d, --diff - Tam düzen ağacı yerine, yalnızca son dahili anlık görüntü alındığından (düzenin son çalıştırıldığı zaman) beri değişen düzen öğelerinin listesini döndürür.

Örnek:: android layout --output=./hierarchy.json

skills add

Android becerileri, temsilcilerin Android geliştirme ile ilgili en iyi uygulamaları ve rehberliği takip eden belirli kalıpları daha iyi anlamasına ve uygulamasına yardımcı olmak için tasarlanmış özel talimatlardır. Daha fazla bilgi edinmek için Android becerilerine giriş başlıklı makaleyi inceleyin.

Kullanım: android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]

Açıklama: Algılanan tüm aracılar için beceri dizinlerine Android becerilerini yükleyin. Mevcut bir aracı dizininiz yoksa ve belirli aracıları belirtmezseniz beceriler Gemini ve Antigravity için ~/.gemini/antigravity/skills konumuna yüklenir.

Seçenekler:

  • --all - Tüm Android becerilerini tek seferde ekleyin. Atlanırsa (ve --skill belirtilmezse) yalnızca android-cli becerisi yüklenir.
  • --agent: Beceri yüklenecek ajanların virgülle ayrılmış listesi. Atlanırsa beceri, algılanan tüm temsilciler için yüklenir.
  • --skill - Yüklemek istediğiniz becerinin adı. Atlanırsa (ve --all belirtilmezse) yalnızca android-cli becerisi yüklenir.

Örnek: android skills add --agent='gemini' edge-to-edge

skills find

Kullanım: android skills find <string>

Açıklama: Belirli bir dizeyle eşleşen becerileri bulur.

Arguments (zorunlu):

  • string - Beceri açıklamasıyla eşleşen dize.

Örnek: android skills find 'performance'

skills list

Kullanım: android skills list [--long]

Açıklama: Kullanılabilir becerileri listeleyin.

Seçenekler:

  • --long - Her beceri için ek bilgiler (becerinin açıklaması ve hangi aracılarda yüklü olduğu dahil) çıkışı yapın.

skills remove

Kullanım: android skills remove [--agent] --skill=<skill-name>

Açıklama: Beceriyi kaldırma. Belirli aracıları belirtmezseniz beceri tüm aracılar için kaldırılır.

Arguments (zorunlu):

  • --skill: Kaldırılacak becerinin adı.

Seçenekler:

  • --agent: Beceri kaldırılacak aracıların virgülle ayrılmış listesi. Atlanırsa beceri tüm temsilciler için kaldırılır.

Örnek: android skills remove --agent='gemini' --skill=edge-to-edge

screen capture

Kullanım: android screen capture [--output] [--annotate]

Açıklama: Bağlı cihazın ekran görüntüsünü alır.

Seçenekler:

  • -o, --output: Ekran görüntüsünün kaydedileceği dosya konumunu belirtir. Atlanırsa ham PNG verileri doğrudan stdout'a yazdırılır.
  • -a, --annotate: resolve komutuyla kullanılmak üzere, resimde algılanan tüm kullanıcı arayüzü öğelerinin etrafına etiketli sınırlayıcı kutular çizer.

Örnek: android screen capture --output=ui.png

screen resolve

Kullanım: android screen resolve --screenshot=<path> --string=<string>

Açıklama: screen capture kullanılarak çekilen ve ek açıklama eklenmiş bir ekran görüntüsündeki görsel etiketleri gerçek ekran koordinatlarına (x, y) çevirir. Öğelerin konumlarını manuel olarak hesaplamaya gerek kalmadan tıklamaları komut dosyasıyla oluşturmak için kullanışlıdır.

İşaretler:

  • --screenshot - Açıklama eklenmiş ekran görüntüsünün yolu.
  • --string: #<number> biçiminde bir kullanıcı arayüzü öğesi etiketine karşılık gelen en az bir yer tutucu içeren dize. #<number> bölümü, ekran koordinatlarıyla değiştirilir.

Örnek:

5 etiketi (500, 1000) koordinatlarındaysa komut

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

çıkışı döndürür

input tap 500 1000

sdk install

Kullanım: android sdk install <package[@version]> [--beta] [--canary] [--force]

Açıklama: Belirtilen SDK paketlerini yükler.

Arguments (zorunlu):

  • package[@version]: Yüklenecek paketlerin boşlukla ayrılmış listesi. Sürüm belirtilmezse kanaldaki paketin en son sürümü (varsayılan olarak mevcut ürün kanalı) yüklenir.

Seçenekler:

  • --beta - Beta paketlerini dahil edin.
  • --canary - Canary paketlerini dahil edin.
  • --force: Daha eski bir sürüme geçişi zorlar.

Örnekler:

  • android sdk install platforms/android-34 build-tools/34.0.0 - Kararlı kanaldan Android SDK Platform 34 ve SDK Built Tools 34.0.0 paketlerinin en son sürümlerini yükleyin.
  • android sdk install platforms/android-34@2 - Android SDK Platform 34 paketinin 2. sürümünü yükleyin.
  • android sdk install --canary system-images/android-35/google_apis/x86_6 - Android 35 sistem görüntüsünün en yeni sürümünü canary kanalından yükleyin.
  • android sdk install --force platforms/android-33@1 - Kararlı kanaldan Android SDK Platform 33 paketinin 1. sürümüne geri dönün.

sdk list

Kullanım: android sdk list <package-pattern>

Açıklama: Yüklü ve kullanılabilir SDK paketlerini listeleyin.

Arguments (zorunlu):

  • <package-pattern>: Paketleri desene göre filtreleyin. Normal ifadeleri destekler.

Seçenekler:

  • --all: Yüklü ve kullanılabilir tüm paketleri gösterir.
  • --all-versions: Her paketin tüm sürümlerini gösterir.
  • --beta - Beta paketlerini dahil edin.
  • --canary - Canary paketlerini dahil edin.

sdk remove

Kullanım: android sdk remove <package-name>

Açıklama: SDK'dan bir paketi kaldırma.

Arguments (zorunlu):

  • <package-name> - Kaldırılacak paketin adı.

Örnek: android sdk remove build-tools/36.1.0

run

Kullanım: android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>

Açıklama: Bağlı bir cihaza veya emülatöre Android uygulaması dağıtın. Herhangi bir derleme adımı gerçekleştirmez. Yüklemek istediğiniz APK dosyalarının yollarını sağlamanız gerekir.

Arguments (zorunlu):

  • --apks - Yüklemek istediğiniz APK dosyalarının virgülle ayrılmış yol listesi. Yol, dosya sisteminde bulunduğunuz konuma göre belirlenir.

Seçenekler:

  • --activity: APK yüklendikten sonra başlatılacak etkinliğin adı. Birden fazla etkinlik varsa başlangıçta başlatılacak bir etkinlik belirtmeniz gerekir.
  • --debug - Uygulamayı hata ayıklama modunda dağıtır. Uygulamayı hata ayıklama modunda çalıştırdıktan sonra hata ayıklamaya başlamak için Android Studio gibi bir IDE'den veya bir komut satırı aracından hata ayıklayıcınızı bağlamanız gerekir.
  • --device - Hedef cihazın veya emülatörün seri numarası. Yalnızca birden fazla cihaz bağlıysa gereklidir. Cihaz seri numaralarını bulmak için adb devices komutunu çalıştırın.
  • --type: Başlatılacak bileşen türü. Bir kullanıcı arayüzü etkinliği yerine doğrudan bir arka plan hizmeti başlatmak istiyorsanız bunu kullanın. Desteklenen türler:
    • ACTIVITY
    • WATCH_FACE
    • TILE
    • COMPLICATION
    • DECLARATIVE_WATCH_FACE

Örnekler:

  • android run --apks=app/build/outputs/apk/debug/app-debug.apk - Varsayılan cihaza tek bir APK dağıtır.
  • android run --apks=base.apk,density-hdpi.apk,lang-en.apk - Varsayılan cihaza birden fazla APK dağıtır.
  • android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService - Bir hizmeti etkinlik olmadan test etme.
  • android run --apks=app-debug.apk --device=emulator-5554 - APK'yı belirli bir cihaza dağıtır.

sdk update

Kullanım: android sdk update [--beta] [--canary] [<package-name>]

Açıklama: Bir veya tüm paketleri kanaldaki (varsayılan olarak kararlı kanal) en son sürüme güncelleyin. Paket belirtmezseniz tüm paketler güncellenir.

Seçenekler:

  • <package-name> - Güncellenecek paketin adı.
  • --beta - Beta paketlerini dahil edin.
  • --canary - Canary paketlerini dahil edin.
  • --force: Daha eski bir sürüme geçişi zorlar.

Örnekler:

  • android sdk update - SDK'nızdaki her şey için güncellemeleri kontrol edin ve yükleyin.
  • android sdk update build-tools/34.0.0 - Android SDK Build Tools 34.0.0 paketini kararlı kanaldaki en son sürüme güncelleyin.
  • android sdk update --canary platforms/android-35 - Android SDK Platforms 35 paketini canary kanalındaki en son sürüme güncelleyin.

update

Kullanım: android update

Açıklama: Android KSA'sını güncelleyin.

-V, --version

Açıklama: Android KSA'nın mevcut sürümünü gösterir.