Android सीएलआई के बारे में खास जानकारी

Android सीएलआई, एक कमांड-लाइन इंटरफ़ेस है. इसकी मदद से, अपनी पसंद के किसी भी टूल का इस्तेमाल करके, Android के लिए ज़्यादा बेहतर तरीके से ऐप्लिकेशन बनाए जा सकते हैं. यह एजेंट-फ़र्स्ट वर्कफ़्लो के लिए, डेवलपमेंट की मुख्य क्षमताओं को स्टैंडर्ड बनाता है. साथ ही, आधिकारिक टूल, कौशल, और जानकारी के लिए एंट्री पॉइंट उपलब्ध कराता है, ताकि आप ज़्यादा असरदार तरीके से डेवलपमेंट कर सकें. यह Android डेवलपमेंट के लिए, सीआई, रखरखाव, और स्क्रिप्ट वाले किसी भी अन्य ऑटोमेशन को भी बेहतर बना सकता है.

उदाहरण के लिए, कोई एजेंट या स्क्रिप्ट, सीएलआई का इस्तेमाल करके ये काम कर सकती है:

  • एनवायरमेंट के सेटअप को ऑटोमेट करना
  • टेंप्लेट से नए प्रोजेक्ट बनाना
  • वर्चुअल डिवाइसों को सीधे अपने टर्मिनल से मैनेज करना
  • गतिविधि की मदद से अपने ऐप्लिकेशन की जांच करना

Android के सीएलआई की मदद से, आपके एजेंटों को Android की स्किल और Android के खास नॉलेज बेस का ऐक्सेस भी मिलता है. इससे यह पक्का करने में मदद मिलती है कि आपके प्रोजेक्ट में, Android के सुझाए गए पैटर्न और सबसे सही तरीके लागू किए गए हों.

Android सीएलआई इंस्टॉल करना

Android CLI इंस्टॉल करने के लिए, यह तरीका अपनाएं:

  1. Android का सीएलआई डाउनलोड करें.

  2. पक्का करें कि Android CLI का नया वर्शन इस्तेमाल किया जा रहा हो. इसके लिए, इसे अपडेट करें:

    android update
    

यह देखने के लिए कि आपके कंप्यूटर पर Android CLI पहले से इंस्टॉल है या नहीं, which android या command -v android चलाएं: अगर यह कोई पाथ दिखाता है, तो इसका मतलब है कि यह इंस्टॉल है.

एजेंट के लिए सेट अप करना

एजेंट को Android CLI को समझने और उसका इस्तेमाल करने में मदद करने के लिए, init चलाकर android-cli स्किल इंस्टॉल करें.

इकट्ठा किया गया डेटा

Android CLI, टूल के बुनियादी इस्तेमाल से जुड़ा डेटा इकट्ठा करता है. हम यह डेटा इकट्ठा करते हैं:

  • android कमांड और सब-कमांड के इनवोकेशन. उदाहरण के लिए, android run और android create.
  • इस्तेमाल किए गए नॉन-पोज़िशनल आर्ग्युमेंट या विकल्पों के नाम. उदाहरण के लिए, --sdk या --version.
  • पोज़ीशनल आर्ग्युमेंट और फ़्लैग वैल्यू, Android CLI के ज़रिए मैनेज किए जाने वाले सिस्टम के विकल्पों के पहले से तय किए गए सेट से मैप होती हैं. उदाहरण के लिए, हम एम्युलेटर टेंप्लेट के नाम इकट्ठा करते हैं. जैसे, medium_phone और large_desktop. साथ ही, एजेंट के नाम इकट्ठा करते हैं. जैसे, GEMINI, CLAUDE या CODEX.
  • स्टैक ट्रेस और अपवाद वाले मैसेज. इनमें पहचान ज़ाहिर करने वाली निजी जानकारी को इकट्ठा करने से पहले ही हटा दिया जाता है, ताकि निजता को सुरक्षित रखा जा सके.

यहां ऐसे डेटा के कुछ उदाहरण दिए गए हैं जिसे हम इकट्ठा नहीं करते:

  • जब कोई कमांड चलाई जाती है, तब हम CLI के जवाबों को इकट्ठा नहीं करते.
  • हम उपयोगकर्ता के बनाए गए इनपुट या सीएलआई को पास किए गए बाहरी आइडेंटिफ़ायर इकट्ठा नहीं करते. जैसे, खास Maven कोऑर्डिनेट, लोकल फ़ाइल पाथ या कस्टम प्रोजेक्ट के नाम. उदाहरण के लिए, अगर android create --name=com.company.internal.app कमांड को एक्ज़ीक्यूट किया जाता है, तो हम यह रिकॉर्ड करते हैं कि --name आर्ग्युमेंट का इस्तेमाल करके android create को एक्ज़ीक्यूट किया गया था. हालांकि, हम com.company.internal.app वैल्यू को सेव नहीं करते हैं.

डेटा कलेक्शन की सुविधा बंद करने के लिए, Android CLI के साथ कोई कमांड चलाते समय --no-metrics फ़्लैग का इस्तेमाल करें.

सुझाव/राय देना या शिकायत करना और समस्याएं

अगर आपको कोई समस्या आती है या आपको कोई सुझाव/राय देनी है या शिकायत करनी है, तो बग की शिकायत करें.

पहले से मालूम समस्याएं

  • फ़िलहाल, Windows के लिए android emulator कमांड बंद है.
  • फ़िलहाल, Windows PowerShell से Android CLI डाउनलोड करने की सुविधा उपलब्ध नहीं है.

Android सीएलआई को कॉन्फ़िगर करना

.androidrc फ़ाइल बनाएं, ताकि Android CLI को हर बार शुरू करने पर फ़्लैग और विकल्प अपने-आप लागू हो जाएं. अपने ऑपरेटिंग सिस्टम के हिसाब से, फ़ाइल को यहां सेव करें:

  • macOS और Linux: ~/.androidrc
  • Windows: %USERPROFILE%\.androidrc

उन फ़्लैग को जोड़ें जिन्हें आपको फ़ाइल पर अपने-आप लागू करना है. हर फ़्लैग को अलग-अलग लाइन में जोड़ें.

उदाहरण के लिए, अगर आपको Android CLI को हर बार डिफ़ॉल्ट रूप से किसी खास Android SDK का इस्तेमाल करने के लिए सेट करना है, तो अपनी फ़ाइल में --sdk फ़्लैग जोड़ें:

--sdk=<path-to-sdk>

ग्लोबल ऑप्शन

ये ऐसे फ़्लैग हैं जिनका इस्तेमाल करना ज़रूरी नहीं है. हालांकि, इनका इस्तेमाल Android के अन्य सीएलआई कमांड के साथ किया जा सकता है.

-h, --help

इस्तेमाल: android <command> -h

जानकारी: इससे टूल या किसी खास कमांड के लिए सहायता मैन्युअल दिखता है.

उदाहरण:

  • android -h
  • android create -h

--sdk

इस्तेमाल: android --sdk=<path-to-sdk> <command>

ब्यौरा: उस Android SDK का पाथ जिसका इस्तेमाल आपको इसके बाद दिए गए कमांड के लिए करना है. जब भी आपको स्विच करना हो, तब ग्लोबल एनवायरमेंट वैरिएबल बदलने के बजाय, --sdk सेटिंग का इस्तेमाल करके, Android SDK को कुछ समय के लिए डिफ़ॉल्ट के तौर पर सेट किया जा सकता है. यह देखने के लिए कि डिफ़ॉल्ट रूप से कौनसा Android SDK इस्तेमाल किया जा रहा है, android info चलाएं.

उदाहरण: android --sdk=<path/to/sdk> sdk list

निर्देश

इस सेक्शन में, Android CLI की सभी कमांड की सूची दी गई है. साथ ही, यह भी बताया गया है कि ये कमांड क्या करती हैं. इन सभी कमांड से पहले android होना चाहिए. जैसे, android create या android run. ज़रूरी नहीं कि मॉडिफ़ायर को ब्रैकेट [] में रखा जाए. हालांकि, ज़रूरी आर्ग्युमेंट को ब्रैकेट में नहीं रखा जाता.

create

इस्तेमाल: android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]

ब्यौरा: टेंप्लेट से नया प्रोजेक्ट शुरू करें. टेंप्लेट के विकल्प देखने के लिए, android create -h चलाएं.

आर्ग्युमेंट (ज़रूरी):

  • -o, --output - डेस्टिनेशन प्रोजेक्ट डायरेक्ट्री का पाथ.

विकल्प:

  • --dry-run - इससे प्रोजेक्ट बनाने की पूरी प्रोसेस का सिम्युलेशन किया जाता है. हालांकि, इसमें कोई भी फ़ाइल सेव नहीं की जाती. उदाहरण के लिए, किसी टेंप्लेट को चुनने से पहले, यह देखने के लिए कि अलग-अलग टेंप्लेट क्या काम करते हैं, ड्राई रन किया जा सकता है.
  • --verbose - इससे ज़्यादा जानकारी वाला आउटपुट मिलता है. इसमें यह जानकारी भी शामिल होती है कि टेंप्लेट से कौनसी फ़ाइलें कॉपी की जा रही हैं.
  • --name=<application-name> - प्रोजेक्ट डायरेक्ट्री का नाम. अगर इसे शामिल नहीं किया जाता है, तो आउटपुट डायरेक्ट्री का इस्तेमाल किया जाता है.
  • <template-name> - वह टेंप्लेट जिससे नया प्रोजेक्ट बनाना है. अगर इसे शामिल नहीं किया जाता है, तो empty-activity-agp-9 का इस्तेमाल किया जाता है.

उदाहरण: android create --dry-run --verbose empty-activity-agp-9

create list

इस्तेमाल: android create list

ब्यौरा: इस कमांड से, नया प्रोजेक्ट बनाने के लिए उपलब्ध सभी टेंप्लेट की सूची मिलती है.

describe

इस्तेमाल: android describe [--project_dir=<project-directory>]

ब्यौरा: यह टूल, Android प्रोजेक्ट का विश्लेषण करके जानकारी देने वाला मेटाडेटा जनरेट करता है. यह कमांड, उन JSON फ़ाइलों के पाथ की पहचान करती है और उन्हें आउटपुट करती है जिनमें प्रोजेक्ट के स्ट्रक्चर के बारे में जानकारी दी गई है. इसमें बिल्ड टारगेट और उनके आउटपुट आर्टफ़ैक्ट की लोकेशन (उदाहरण के लिए, APK फ़ाइलें) शामिल हैं. इस जानकारी की मदद से, अन्य टूल और कमांड, बिल्ड आर्टफ़ैक्ट को आसानी से ढूंढ पाते हैं.

विकल्प:

  • --project_dir - प्रोजेक्ट डायरेक्ट्री की जानकारी. अगर इसे शामिल नहीं किया जाता है, तो मौजूदा डायरेक्ट्री का इस्तेमाल किया जाता है.

उदाहरण: android describe --project_dir=/path/to/your/project

docs

इस्तेमाल:

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

जानकारी: android docs कमांड का इस्तेमाल करके, सीधे सीएलआई से Android नॉलेज बेस को ऐक्सेस किया जा सकता है. इसके लिए, दो चरणों वाली प्रोसेस पूरी करनी होती है. सबसे पहले, search कमांड का इस्तेमाल करके, अपनी क्वेरी से जुड़ा दस्तावेज़ खोजें. खोज के नतीजों में, kb:// से शुरू होने वाले खास यूआरएल शामिल होंगे. इसके बाद, fetch कमांड का इस्तेमाल करके, टर्मिनल पर दस्तावेज़ की कमांड आउटपुट की जा सकती हैं.

उदाहरण:

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

emulator create

इस्तेमाल: android emulator create [--list-profiles] [--profile=<profile-name>]

जानकारी: वर्चुअल डिवाइस बनाएं.

विकल्प:

  • --list-profiles - उन डिवाइस प्रोफ़ाइलों की सूची बनाएं जिनका इस्तेमाल करके डिवाइस बनाया जा सकता है.
  • --profile=<profile-name> - इस कमांड का इस्तेमाल करके, बताई गई प्रोफ़ाइल वाला डिवाइस बनाया जा सकता है. अगर इसे नहीं जोड़ा जाता है, तो medium_phone प्रोफ़ाइल बनाई जाएगी.

emulator list

इस्तेमाल: android emulator list

जानकारी: उपलब्ध वर्चुअल डिवाइसों की सूची बनाएं.

emulator start

इस्तेमाल: android emulator start <device-name>

जानकारी: इस कमांड से, तय किया गया वर्चुअल डिवाइस लॉन्च होता है.

आर्ग्युमेंट (ज़रूरी):

  • <device-name> - शुरू करने के लिए डिवाइस का नाम (उदाहरण के लिए, medium_phone). उपलब्ध डिवाइसों को देखने के लिए, android emulator list का इस्तेमाल करें.

उदाहरण: android emulator start medium_phone

emulator stop

इस्तेमाल: android emulator stop <device-serial-number>

ब्यौरा: इस कमांड से, चुने गए वर्चुअल डिवाइस को बंद किया जा सकता है.

आर्ग्युमेंट (ज़रूरी):

  • <device-serial-number> - डिवाइस का वह सीरियल नंबर जिसे बंद करना है.

उदाहरण: android emulator stop emulator-5554

info

इस्तेमाल: android info

ब्यौरा: इस्तेमाल किए गए डिफ़ॉल्ट Android SDK टूल का पाथ दिखाता है. इस्तेमाल किए गए Android SDK को बदलने के लिए, --sdk का इस्तेमाल करें.

init

इस्तेमाल: android init

ब्यौरा: android-cli स्किल इंस्टॉल करके, एजेंट के लिए अपना एनवायरमेंट सेट अप करें.

layout

इस्तेमाल: android layout [--pretty] [--output] [--diff]

ब्यौरा: यह फ़ंक्शन, चालू Android ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) लेआउट को JSON फ़ॉर्मैट में दिखाता है. यह ऐप्लिकेशन, फ़िज़िकल डिवाइस या एम्युलेटर से कनेक्ट होता है.

विकल्प:

  • -p, --pretty - इस विकल्प का इस्तेमाल करके, JSON आउटपुट को इंडेंटेशन और लाइन ब्रेक के साथ फ़ॉर्मैट किया जाता है, ताकि उसे कोई भी व्यक्ति आसानी से पढ़ सके.
  • -o, --output - लेआउट ट्री को सेव करने के लिए, फ़ाइल की जगह की जानकारी देता है. अगर इसे शामिल नहीं किया जाता है, तो JSON को सीधे तौर पर stdout पर प्रिंट किया जाता है.
  • -d, --diff - यह पूरे लेआउट ट्री के बजाय, सिर्फ़ उन लेआउट एलिमेंट की सूची दिखाता है जिनमें आखिरी इंटरनल स्नैपशॉट लिए जाने के बाद से बदलाव हुआ है. इंटरनल स्नैपशॉट, लेआउट को आखिरी बार चलाने के समय लिया जाता है.

उदाहरण:: android layout --output=./hierarchy.json

run

इस्तेमाल: android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>

जानकारी: कनेक्ट किए गए डिवाइस या एम्युलेटर पर Android ऐप्लिकेशन डिप्लॉय करता है. यह कोई भी बिल्ड स्टेप नहीं करता है. आपको उन APK फ़ाइलों के पाथ देने होंगे जिन्हें इंस्टॉल करना है.

आर्ग्युमेंट (ज़रूरी):

  • --apks - उन APK फ़ाइलों के पाथ की कॉमा लगाकर अलग की गई लिस्ट जिन्हें आपको इंस्टॉल करना है. पाथ, फ़ाइल सिस्टम में आपकी मौजूदा जगह के हिसाब से होता है.

विकल्प:

  • --activity - APK इंस्टॉल होने के बाद लॉन्च होने वाली ऐक्टिविटी का नाम. अगर एक से ज़्यादा गतिविधियां हैं, तो आपको शुरुआत में लॉन्च करने के लिए एक गतिविधि चुननी होगी.
  • --debug - इस विकल्प का इस्तेमाल करके, ऐप्लिकेशन को डीबग मोड में डिप्लॉय किया जाता है. ऐप्लिकेशन को डीबग मोड में चलाने के बाद, आपको डीबग करने के लिए डीबगर को कनेक्ट करना होगा. इसके लिए, Android Studio जैसे आईडीई या कमांड-लाइन टूल का इस्तेमाल करें.
  • --device - टारगेट डिवाइस या एम्युलेटर का सीरियल नंबर. इसकी ज़रूरत सिर्फ़ तब होती है, जब एक से ज़्यादा डिवाइस कनेक्ट हों. डिवाइस के सीरियल नंबर ढूंढने के लिए, adb devices चलाएं.
  • --type - शुरू करने के लिए कॉम्पोनेंट का टाइप. अगर आपको यूज़र इंटरफ़ेस (यूआई) ऐक्टिविटी के बजाय सीधे तौर पर बैकग्राउंड में चलने वाली सेवा शुरू करनी है, तो इसका इस्तेमाल करें. इन टाइप के ऑब्जेक्ट इस्तेमाल किए जा सकते हैं:
    • ACTIVITY
    • WATCH_FACE
    • TILE
    • COMPLICATION
    • DECLARATIVE_WATCH_FACE

उदाहरण:

  • android run --apks=app/build/outputs/apk/debug/app-debug.apk - यह डिफ़ॉल्ट डिवाइस पर एक APK डिप्लॉय करता है.
  • android run --apks=base.apk,density-hdpi.apk,lang-en.apk - डिफ़ॉल्ट डिवाइस पर एक से ज़्यादा APK डिप्लॉय करता है.
  • android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService - किसी सेवा को बिना गतिविधि के टेस्ट करें.
  • android run --apks=app-debug.apk --device=emulator-5554 - इससे APK को किसी डिवाइस पर डिप्लॉय किया जाता है.

screen capture

इस्तेमाल: android screen capture [--output] [--annotate]

ब्यौरा: इससे कनेक्ट किए गए डिवाइस का स्क्रीनशॉट कैप्चर किया जाता है.

विकल्प:

  • -o, --output - इससे स्क्रीनशॉट सेव करने के लिए, फ़ाइल की जगह तय की जाती है. अगर इसे शामिल नहीं किया जाता है, तो रॉ पीएनजी डेटा सीधे तौर पर stdout पर प्रिंट किया जाएगा.
  • -a, --annotate - इमेज में मौजूद सभी यूज़र इंटरफ़ेस (यूआई) एलिमेंट के चारों ओर लेबल वाले बाउंडिंग बॉक्स बनाता है. इसका इस्तेमाल resolve कमांड के साथ किया जाता है.

उदाहरण: android screen capture --output=ui.png

screen resolve

इस्तेमाल: android screen resolve --screenshot=<path> --string=<string>

जानकारी: यह एनोटेट की गई स्क्रीनशॉट से विज़ुअल लेबल को, screen capture का इस्तेमाल करके कैप्चर किए गए, स्क्रीन के असली कोऑर्डिनेट (x, y) में बदलता है. यह सुविधा, एलिमेंट पर क्लिक करने के लिए स्क्रिप्ट लिखने में मददगार होती है. इससे आपको उनकी पोज़िशन का हिसाब मैन्युअल तरीके से नहीं लगाना पड़ता.

फ़्लैग:

  • --screenshot - एनोटेट किए गए स्क्रीनशॉट का पाथ.
  • --string - यह एक ऐसी स्ट्रिंग है जिसमें कम से कम एक प्लेसहोल्डर शामिल होता है. यह प्लेसहोल्डर, #<number> फ़ॉर्मैट में यूज़र इंटरफ़ेस (यूआई) एलिमेंट के लेबल से मेल खाता है. #<number> वाले हिस्से की जगह स्क्रीन के कोऑर्डिनेट ले लेंगे.

उदाहरण:

अगर लेबल 5, निर्देशांक (500, 1000) पर है, तो

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

आउटपुट दिखाता है

input tap 500 1000

sdk install

इस्तेमाल: android sdk install <package[@version]> [--beta] [--canary] [--force]

ब्यौरा: इस कमांड से, बताए गए एसडीके पैकेज इंस्टॉल किए जाते हैं.

आर्ग्युमेंट (ज़रूरी):

  • package[@version] - इंस्टॉल किए जाने वाले पैकेज की स्पेस से अलग की गई सूची. अगर वर्शन के बारे में नहीं बताया गया है, तो चैनल में मौजूद पैकेज का सबसे नया वर्शन इंस्टॉल किया जाता है. डिफ़ॉल्ट रूप से, यह स्टेबल चैनल होता है.

विकल्प:

  • --beta - बीटा पैकेज शामिल करें.
  • --canary - इसमें कैनरी पैकेज शामिल होते हैं.
  • --force - पुराने वर्शन पर वापस जाने के लिए मजबूर करें.

उदाहरण:

  • android sdk install platforms/android-34 build-tools/34.0.0 - स्टेबल चैनल से, Android SDK प्लैटफ़ॉर्म 34 और एसडीके बिल्ट टूल 34.0.0 पैकेज के नए वर्शन इंस्टॉल करें.
  • android sdk install platforms/android-34@2 - Android SDK प्लैटफ़ॉर्म 34 पैकेज का दूसरा वर्शन इंस्टॉल करें.
  • android sdk install --canary system-images/android-35/google_apis/x86_6 - कैनरी चैनल से, Android 35 सिस्टम इमेज का नया वर्शन इंस्टॉल करें.
  • android sdk install --force platforms/android-33@1 - स्टेबल चैनल से, Android SDK प्लैटफ़ॉर्म 33 पैकेज के वर्शन 1 पर वापस जाएं.

sdk list

इस्तेमाल: android sdk list <package-pattern>

ब्यौरा: इंस्टॉल किए गए और उपलब्ध एसडीके पैकेज की सूची बनाएं.

आर्ग्युमेंट (ज़रूरी):

  • <package-pattern> - पैटर्न के हिसाब से पैकेज फ़िल्टर करें. रेगुलर एक्सप्रेशन के साथ काम करता है.

विकल्प:

  • --all - इंस्टॉल किए गए और उपलब्ध सभी पैकेज दिखाएं.
  • --all-versions - हर पैकेज के सभी वर्शन दिखाएं.
  • --beta - बीटा पैकेज शामिल करें.
  • --canary - इसमें कैनरी पैकेज शामिल होते हैं.

sdk remove

इस्तेमाल: android sdk remove <package-name>

ब्यौरा: एसडीके से पैकेज हटाता है.

आर्ग्युमेंट (ज़रूरी):

  • <package-name> - हटाने के लिए पैकेज का नाम.

उदाहरण: android sdk remove build-tools/36.1.0

sdk update

इस्तेमाल: android sdk update [--beta] [--canary] [<package-name>]

ब्यौरा: चैनल में मौजूद एक या सभी पैकेज को नए वर्शन में अपडेट करें. डिफ़ॉल्ट रूप से, यह स्टेबल चैनल होता है. अगर आपने कोई पैकेज नहीं चुना है, तो सभी पैकेज अपडेट हो जाएंगे.

विकल्प:

  • <package-name> - अपडेट किए जाने वाले पैकेज का नाम.
  • --beta - बीटा पैकेज शामिल करें.
  • --canary - इसमें कैनरी पैकेज शामिल होते हैं.
  • --force - पुराने वर्शन पर वापस जाने के लिए मजबूर करें.

उदाहरण:

  • android sdk update - अपने एसडीके में मौजूद सभी चीज़ों के लिए अपडेट की जांच करें और उन्हें इंस्टॉल करें.
  • android sdk update build-tools/34.0.0 - Android SDK Build Tools 34.0.0 पैकेज को स्टेबल चैनल में मौजूद नए वर्शन पर अपडेट करें.
  • android sdk update --canary platforms/android-35 - Android SDK Platforms 35 पैकेज को कैनरी चैनल में नए वर्शन पर अपडेट करें.

skills add

Android की स्किल, खास निर्देश होते हैं. इन्हें इसलिए बनाया गया है, ताकि एजेंट Android डेवलपमेंट के सबसे सही तरीकों और दिशा-निर्देशों के हिसाब से, खास पैटर्न को बेहतर तरीके से समझ सकें और उन्हें लागू कर सकें. ज़्यादा जानने के लिए, Android की बुनियादी बातों के बारे में जानकारी देखें.

इस्तेमाल: android skills add [--all] [--agent=<agent-name>] <skill-name>

ब्यौरा: सभी एजेंट के लिए, स्किल डायरेक्ट्री में Android की स्किल इंस्टॉल करें. अगर आपके पास कोई मौजूदा एजेंट डायरेक्ट्री नहीं है और आपने किसी एजेंट के बारे में नहीं बताया है, तो ये स्किल Gemini और Antigravity के लिए ~/.gemini/antigravity/skills पर इंस्टॉल की जाएंगी. अगर आपने पहले से ही Android की सुविधाएं इंस्टॉल की हैं, तो skills add पर क्लिक करके, उन्हें नए वर्शन में अपडेट करें.

विकल्प:

  • --all - Android की सभी स्किल को एक साथ इंस्टॉल या अपडेट करें. अगर इसे शामिल नहीं किया जाता है और --skill को भी शामिल नहीं किया जाता है, तो सिर्फ़ android-cli स्किल इंस्टॉल की जाएगी.
  • --agent - कॉमा लगाकर अलग की गई उन एजेंट की सूची जिनके लिए स्किल इंस्टॉल या अपडेट करनी है. अगर इसे शामिल नहीं किया जाता है, तो यह स्किल उन सभी एजेंट के लिए इंस्टॉल हो जाएगी जिनका पता चला है.
    • [<skill-name>] - वह स्किल जिसे आपको इंस्टॉल या अपडेट करना है. अगर इस प्रॉपर्टी को शामिल नहीं किया जाता है और --all प्रॉपर्टी की वैल्यू नहीं दी जाती है, तो सिर्फ़ android-cli स्किल इंस्टॉल या अपडेट की जाएगी. उदाहरण: android skills add --agent='gemini' edge-to-edge

skills find

इस्तेमाल: android skills find <string>

ब्यौरा: दी गई स्ट्रिंग से मेल खाने वाली स्किल ढूंढता है.

आर्ग्युमेंट (ज़रूरी):

  • string - ऐसी स्ट्रिंग जो किसी स्किल की जानकारी से मेल खाती हो.

उदाहरण: android skills find 'performance'

skills list

इस्तेमाल: android skills list [--long]

ब्यौरा: उपलब्ध स्किल की सूची बनाएं.

विकल्प:

  • --long - हर स्किल के बारे में ज़्यादा जानकारी दिखाओ. इसमें स्किल का ब्यौरा और यह जानकारी शामिल हो कि यह किन एजेंट के लिए पहले से इंस्टॉल है.

skills remove

इस्तेमाल: android skills remove [--agent] <skill-name>

ब्यौरा: किसी स्किल को हटाना. अगर आपने किसी एजेंट का नाम नहीं डाला है, तो सभी एजेंट के लिए यह सुविधा हटा दी जाएगी. आर्ग्युमेंट (ज़रूरी):

  • <skill-name> - हटाने के लिए स्किल का नाम.

विकल्प:

  • --agent - कॉमा लगाकर अलग किए गए उन एजेंट की सूची जिनसे स्किल को हटाना है. अगर इस फ़ील्ड को शामिल नहीं किया जाता है, तो सभी एजेंट के लिए यह स्किल हटा दी जाएगी.

उदाहरण: android skills remove --agent='gemini' --skill=edge-to-edge

studio check

studio कमांड की मदद से, Android Studio के चालू इंस्टेंस के साथ इंटरैक्ट किया जा सकता है. ऐसा खुद या एआई एजेंट की मदद से किया जा सकता है. चालू इंस्टेंस से कनेक्ट करके, फ़ाइलों का विश्लेषण करने, सिंबल के एलान और इस्तेमाल का पता लगाने, कंपोज़ की झलकियां रेंडर करने, और डिपेंडेंसी के वर्शन देखने के लिए, IDE की सुविधाओं का इस्तेमाल किया जा सकता है.

इस्तेमाल: android studio check

जानकारी: इससे Android Studio के चालू इंस्टेंस की स्थिति की जांच की जाती है. साथ ही, खुले हुए प्रोजेक्ट की सूची बनाई जाती है. सीएलआई और आईडीई के बीच कनेक्शन की पुष्टि करने के लिए, सबसे पहले यह कमांड चलाएं. साथ ही, अगर एक से ज़्यादा पीआईडी और प्रोजेक्ट हैं, तो उस पीआईडी और प्रोजेक्ट को चुनें जिससे आपको कनेक्ट करना है.

आउटपुट का उदाहरण:

कनेक्ट होने पर, आउटपुट में Android Studio के चालू इंस्टेंस का पीआईडी, वर्शन, और खुले प्रोजेक्ट की स्थिति दिखती है:

pid: 32942
version: Android Studio Quail
Projects:
    READY     MyApplication /Users/username/AndroidStudioProjects/MyApplication

studio analyze-file

इस्तेमाल: android studio analyze-file [--pid=<pid>] [--project=<project>] <path>

ब्यौरा: यह Android Studio में मौजूद किसी फ़ाइल की जांच करता है. इसमें गड़बड़ियां, चेतावनियां, और लिंटिंग शामिल हैं. इसके लिए, IDE के बिल्ट-इन इंस्पेक्शन इंजन का इस्तेमाल किया जाता है.

आर्ग्युमेंट (ज़रूरी):

  • <path> - विश्लेषण के लिए Kotlin या Java फ़ाइल का पाथ.

विकल्प:

  • --pid=<pid> - अगर एक से ज़्यादा Android Studio इंस्टेंस हैं, तो कनेक्ट करने के लिए किसी खास Android Studio इंस्टेंस का पीआईडी.
  • --project=<project> - अगर Android Studio में एक से ज़्यादा प्रोजेक्ट खुले हैं, तो क्वेरी करने के लिए प्रोजेक्ट का नाम. अगर किसी प्रोजेक्ट डायरेक्ट्री से analyze-file कमांड चलाई जाती है, तो उस प्रोजेक्ट का इस्तेमाल डिफ़ॉल्ट रूप से किया जाता है.

उदाहरण:

android studio analyze-file \
  --project=MyApplication \
  /Users/username/AndroidStudioProjects/MyApplication/app/src/main/java/com/example/myapp/MainActivity.kt

studio find-declaration

इस्तेमाल: android studio find-declaration [--short] [--context-file=<path>] [--pid=<pid>] [--project=<project>] <symbol>

ब्यौरा: यह सुविधा, सिमैंटिक रिज़ॉल्यूशन का इस्तेमाल करके, पूरे प्रोजेक्ट में किसी सिंबल (क्लास, तरीके, वैरिएबल, फ़ील्ड, कॉन्स्टेंट या Android संसाधन) की सटीक डिक्लेरेशन साइट ढूंढती है.

आर्ग्युमेंट (ज़रूरी):

  • <symbol> - कोड सिंबल का नाम, जिसके लिए एलान ढूंढना है.

विकल्प:

  • --context-file=<path> - सिंबल का रेफ़रंस देने वाली फ़ाइल का वैकल्पिक पाथ. कॉन्टेक्स्ट फ़ाइल देने से, इंपोर्ट और स्कोप की जानकारी मिलती है. इससे, अस्पष्ट या ओवरलोड किए गए सिंबल को ठीक करने में मदद मिलती है.
  • --short - इससे आउटपुट को आसान बनाया जाता है, ताकि सिर्फ़ फ़ाइल की जगह और लाइन मैच दिखे.
  • --pid=<pid> - अगर एक से ज़्यादा Android Studio इंस्टेंस हैं, तो कनेक्ट करने के लिए किसी खास Android Studio इंस्टेंस का पीआईडी.
  • --project=<project> - Android Studio में खुले हुए प्रोजेक्ट का नाम, ताकि क्वेरी की जा सके. अगर एक से ज़्यादा प्रोजेक्ट खुले हैं, तो यह नाम ज़रूरी है. अगर किसी प्रोजेक्ट डायरेक्ट्री से find-declaration कमांड चलाई जाती है, तो उस प्रोजेक्ट का इस्तेमाल डिफ़ॉल्ट रूप से किया जाता है.

उदाहरण:

android studio find-declaration --short HotelDetailScreen

studio find-usages

इस्तेमाल: android studio find-usages [--short] [--pid=<pid>] [--project=<project>] <symbol>

ब्यौरा: सिमैंटिक विश्लेषण का इस्तेमाल करके, पूरे प्रोजेक्ट में किसी सिंबल के सभी रेफ़रंस और इस्तेमाल का पता लगाता है.

आर्ग्युमेंट (ज़रूरी):

  • <symbol> - वह सिंबल जिसका इस्तेमाल ढूंढना है.

विकल्प:

  • --short - इससे आउटपुट को आसान बनाया जाता है, ताकि सिर्फ़ मेल खाने वाली फ़ाइल की जगहें दिखें.
  • --pid=<pid> - अगर एक से ज़्यादा Android Studio इंस्टेंस हैं, तो कनेक्ट करने के लिए किसी खास Android Studio इंस्टेंस का पीआईडी.
  • --project=<project> - Android Studio में खुले हुए प्रोजेक्ट का नाम, ताकि क्वेरी की जा सके. अगर एक से ज़्यादा प्रोजेक्ट खुले हैं, तो यह नाम ज़रूरी है. अगर इस कमांड को किसी प्रोजेक्ट डायरेक्ट्री से चलाया जाता है, तो उस प्रोजेक्ट का इस्तेमाल डिफ़ॉल्ट रूप से किया जाता है.

उदाहरण:

android studio find-usages --short HotelDetailScreen

studio open-file

इस्तेमाल: android studio open-file [--pid=<pid>] [--project=<project>] <path>

ब्यौरा: इससे Android Studio की ऐक्टिव एडिटर विंडो में कोई फ़ाइल सीधे तौर पर खुलती है.

आर्ग्युमेंट (ज़रूरी):

  • <path> - खोलने के लिए फ़ाइल का पाथ. इसे प्रोजेक्ट की रूट डायरेक्ट्री के हिसाब से या ऐब्सलूट पाथ के तौर पर तय किया जा सकता है.

विकल्प:

  • --pid=<pid> - अगर एक से ज़्यादा Android Studio इंस्टेंस हैं, तो कनेक्ट करने के लिए किसी खास Android Studio इंस्टेंस का पीआईडी.
  • --project=<project> - Android Studio में खुले हुए प्रोजेक्ट का नाम, ताकि क्वेरी की जा सके. अगर एक से ज़्यादा प्रोजेक्ट खुले हैं, तो यह नाम ज़रूरी है. अगर प्रोजेक्ट डायरेक्ट्री से open-file कमांड चलाई जाती है, तो उस प्रोजेक्ट का इस्तेमाल डिफ़ॉल्ट रूप से किया जाता है.

उदाहरण:

android studio open-file app/src/main/java/com/example/myapp/ui/DetailScreen.kt

studio render-compose-preview

इस्तेमाल: android studio render-compose-preview [--print-semantics] [--output-image-file=<filename>] [--pid=<pid>] [--project=<project>] <path> <composable>

ब्यौरा: यह Jetpack Compose यूज़र इंटरफ़ेस (यूआई) की झलक दिखाता है. साथ ही, यह इसके लेआउट सिमैंटिक ट्री को भी दिखाता है. हालांकि, ऐसा करना ज़रूरी नहीं है. यह विज़ुअल टेस्टिंग के लिए या एआई एजेंट को यूज़र इंटरफ़ेस (यूआई) लेआउट के साथ काम करने की सुविधा चालू करने के लिए फ़ायदेमंद है.

आर्ग्युमेंट (ज़रूरी):

  • <path> - Compose की झलक दिखाने वाली Kotlin फ़ाइल का पाथ.
  • <composable> - कंपोज़ेबल झलक दिखाने वाले फ़ंक्शन का नाम (@Preview के साथ मार्क किया गया).

विकल्प:

  • --output-image-file=<filename> - इससे रेंडर की गई PNG इमेज को सेव करने के लिए फ़ाइल का नाम तय किया जाता है. अगर इसे शामिल नहीं किया जाता है, तो कुछ समय के लिए फ़ाइल बन जाती है.
  • --print-semantics - अगर यह सही है, तो रेंडर की गई Compose की झलक के ऐक्सेसिबिलिटी सिमैंटिक्स ट्री को JSON फ़ॉर्मैट में प्रिंट करता है. इससे एजेंट, यूज़र इंटरफ़ेस (यूआई) के स्ट्रक्चर और इंटरैक्टिव एलिमेंट को पार्स कर पाते हैं.
  • --pid=<pid> - अगर एक से ज़्यादा Android Studio इंस्टेंस हैं, तो कनेक्ट करने के लिए किसी खास Android Studio इंस्टेंस का पीआईडी.
  • --project=<project> - Android Studio में खुले हुए प्रोजेक्ट का नाम, ताकि क्वेरी की जा सके. अगर एक से ज़्यादा प्रोजेक्ट खुले हैं, तो यह नाम ज़रूरी है. अगर किसी प्रोजेक्ट डायरेक्ट्री से render-compose-preview कमांड चलाई जाती है, तो उस प्रोजेक्ट का इस्तेमाल डिफ़ॉल्ट रूप से किया जाता है.

उदाहरण:

android studio render-compose-preview \
  --output-image-file=preview_hotel.png \
  --print-semantics \
  app/src/main/java/com/example/myapp/ui/DetailScreen.kt \
  HotelDetailScreenPreview

studio version-lookup

इस्तेमाल: android studio version-lookup [--pid=<pid>] [--project=<project>] <artifacts...>

ब्यौरा: यह Google Maven जैसी रिपॉज़िटरी में, सामान्य डिपेंडेंसी, Android प्लैटफ़ॉर्म, और एसडीके टूल के सबसे नए उपलब्ध वर्शन ढूंढता है. इससे, डिपेंडेंसी के वर्शन की मैन्युअल तरीके से जांच करने के बजाय, प्रोग्राम के हिसाब से जांच करने का विकल्प मिलता है.

आर्ग्युमेंट (ज़रूरी):

  • <artifacts...> - स्पेस से अलग किए गए आइडेंटिफ़ायर की सूची. एक ही कमांड में, कई आर्टफ़ैक्ट के बारे में क्वेरी की जा सकती है. इन आइडेंटिफ़ायर का इस्तेमाल किया जा सकता है:
    • Maven लाइब्रेरी: groupId:artifactId नोटेशन (उदाहरण के लिए, androidx.window:window).
    • Gradle प्लगिन: प्लगिन आईडी (उदाहरण के लिए, com.android.application).
    • कीवर्ड:
      • gradle (Gradle build tool)
      • studio (Android Studio)
      • agp (Android Gradle प्लगिन)
      • ndk (Android NDK)
      • sdk (Android SDK)
      • emulator (Android Emulator)
      • adb (Android डीबग ब्रिज)
      • compose (Jetpack Compose BOM)
      • kotlin (Kotlin रनटाइम और कंपाइलर)
      • android (Android OS वर्शन)
      • platform-tools (Android SDK Platform-Tools)
      • cmdline-tools (Android SDK कमांड-लाइन टूल)
      • build-tools (Android SDK Build-Tools)

विकल्प:

  • --pid=<pid> - अगर एक से ज़्यादा Android Studio इंस्टेंस हैं, तो कनेक्ट करने के लिए किसी खास Android Studio इंस्टेंस का पीआईडी.
  • --project=<project> - Android Studio में खुले हुए प्रोजेक्ट का नाम, ताकि क्वेरी की जा सके. अगर एक से ज़्यादा प्रोजेक्ट खुले हैं, तो यह नाम ज़रूरी है. अगर प्रोजेक्ट डायरेक्ट्री से version-lookup कमांड चलाई जाती है, तो उस प्रोजेक्ट का इस्तेमाल डिफ़ॉल्ट रूप से किया जाता है.

उदाहरण:

android studio version-lookup \
  androidx.compose.ui:ui \
  com.android.application \
  agp \
  kotlin

update

इस्तेमाल: android update

ब्यौरा: Android सीएलआई को अपडेट करें.

-V, --version

जानकारी: Android CLI का मौजूदा वर्शन दिखाएं.