ภาพรวมของ Android CLI

Android CLI เป็นอินเทอร์เฟซบรรทัดคำสั่งที่ช่วยให้คุณสร้างแอปสำหรับ Android ได้ง่ายและมีประสิทธิภาพมากขึ้นโดยใช้เครื่องมือใดก็ได้ที่คุณเลือก โดยจะกำหนดมาตรฐานความสามารถหลักในการพัฒนาสำหรับเวิร์กโฟลว์ที่เน้นเอเจนต์เป็นอันดับแรก ซึ่งเป็นจุดเริ่มต้นสำหรับเครื่องมือ ทักษะ และความรู้ที่เป็นทางการที่คุณต้องใช้ในการพัฒนาอย่างมีประสิทธิภาพมากขึ้น นอกจากนี้ ยังช่วยเพิ่มประสิทธิภาพ CI, การบำรุงรักษา และการทำงานอัตโนมัติอื่นๆ ที่เขียนสคริปต์ไว้ สำหรับการพัฒนา Android ที่มีการกระจายมากขึ้นด้วย

ตัวอย่างเช่น เอเจนต์หรือสคริปต์สามารถใช้ CLI เพื่อทำงานต่างๆ เช่น ต่อไปนี้

  • ตั้งค่าสภาพแวดล้อมโดยอัตโนมัติ
  • สร้างโปรเจ็กต์ใหม่จากเทมเพลต
  • จัดการอุปกรณ์เสมือนได้โดยตรงจากเทอร์มินัล
  • ทดสอบแอปด้วยเส้นทางการท่องเว็บ

นอกจากนี้ Android CLI ยังให้สิทธิ์ตัวแทนเข้าถึงทักษะ Android และฐานความรู้ Android เฉพาะทาง เพื่อช่วยให้มั่นใจว่าโปรเจ็กต์ ของคุณใช้รูปแบบและแนวทางปฏิบัติแนะนำที่ Android แนะนำ

ติดตั้ง Android CLI

หากต้องการติดตั้ง Android CLI ให้ทำตามขั้นตอนต่อไปนี้

  1. ดาวน์โหลด Android CLI

  2. หากต้องการตรวจสอบว่าคุณใช้เวอร์ชันล่าสุดอยู่หรือไม่ ให้อัปเดต Android CLI โดยทำดังนี้

    android update
    

หากต้องการตรวจสอบว่าติดตั้ง Android CLI ในเครื่องแล้วหรือไม่ ให้เรียกใช้ which android หรือ command -v android หากระบบแสดงเส้นทาง แสดงว่าได้ติดตั้งแล้ว

ตั้งค่าสำหรับตัวแทน

หากต้องการช่วยให้ตัวแทนเข้าใจและใช้ Android CLI ให้เรียกใช้ init เพื่อติดตั้งทักษะ android-cli

android init

ข้อมูลที่รวบรวม

Android CLI จะรวบรวมข้อมูลเกี่ยวกับการใช้งานเครื่องมือขั้นพื้นฐาน ข้อมูลที่เรา รวบรวมมีดังนี้

  • การเรียกใช้คำสั่ง android และคำสั่งย่อย เช่น android run และ android create
  • ชื่อของอาร์กิวเมนต์หรือตัวเลือกที่ไม่ใช่ตำแหน่งที่ใช้ เช่น --sdk หรือ --version
  • อาร์กิวเมนต์ตำแหน่งและค่าแฟล็กที่แมปกับชุดตัวเลือกของระบบที่กำหนดไว้ล่วงหน้าแบบคงที่ ซึ่งจัดการโดย Android CLI เช่น เราจะรวบรวมชื่อเทมเพลตโปรแกรมจำลอง เช่น medium_phone และ large_desktop รวมถึงชื่อเอเจนต์ เช่น GEMINI, CLAUDE หรือ CODEX
  • Stack Trace และข้อความข้อยกเว้น โดยระบบจะลบข้อมูลระบุตัวบุคคล ออกก่อนการรวบรวมเพื่อช่วยให้มั่นใจในความเป็นส่วนตัว

ตัวอย่างข้อมูลที่เราไม่รวบรวมมีดังนี้

  • เราจะไม่รวบรวมการตอบกลับของ CLI เมื่อมีการเรียกใช้คำสั่ง
  • เราจะไม่รวบรวมข้อมูลที่ผู้ใช้สร้างขึ้นหรือตัวระบุภายนอกที่ส่งไปยัง CLI เช่น พิกัด Maven ที่เฉพาะเจาะจง เส้นทางไฟล์ในเครื่อง หรือชื่อโปรเจ็กต์ที่กำหนดเอง เช่น หากมีการเรียกใช้คำสั่ง android create --name=com.company.internal.app เราจะบันทึก ว่ามีการเรียกใช้ android create โดยใช้อาร์กิวเมนต์ --name แต่เราจะไม่ จัดเก็บค่า com.company.internal.app

ปัญหาที่ทราบแล้ว

  • ขณะนี้คำสั่ง android emulator สำหรับ Windows ปิดใช้อยู่
  • ขณะนี้ระบบยังไม่รองรับการดาวน์โหลด Android CLI จาก Windows PowerShell

หากพบปัญหาหรือต้องการแสดงความคิดเห็น โปรดรายงานข้อบกพร่อง

กำหนดค่า Android CLI

สร้างไฟล์ .androidrc เพื่อใช้ Flag และตัวเลือกโดยอัตโนมัติ ทุกครั้งที่คุณเรียกใช้ Android CLI บันทึกไฟล์ในตำแหน่งต่อไปนี้ โดยขึ้นอยู่กับระบบปฏิบัติการ

  • macOS และ Linux: ~/.androidrc
  • Windows: %USERPROFILE%\.androidrc

เพิ่มแฟล็กที่ต้องการใช้กับไฟล์โดยอัตโนมัติ โดยเพิ่มแฟล็ก 1 รายการต่อบรรทัด

เช่น หากต้องการให้ Android CLI ใช้ Android SDK ที่เฉพาะเจาะจงโดยค่าเริ่มต้น ทุกครั้ง ให้เพิ่ม Flag --sdk ลงในไฟล์

--sdk=<path-to-sdk>

ตัวเลือกทั่วโลก

โดยเป็นแฟล็กที่ไม่บังคับซึ่งคุณใช้กับคำสั่ง CLI อื่นๆ ของ 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 เป็นกระบวนการ 2 ขั้นตอนสำหรับ การเข้าถึงฐานความรู้ของ Android โดยตรงจาก CLI ก่อนอื่น ให้ค้นหาเอกสารที่เกี่ยวข้องกับคำถามของคุณโดยใช้คำสั่ง search ผลการค้นหาจะมี URL พิเศษที่ขึ้นต้นด้วย 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]

คำอธิบาย: แสดงเลย์เอาต์ของ UI ของแอป 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 แล้ว หากมีกิจกรรมหลายรายการ คุณต้องระบุ กิจกรรม 1 รายการเพื่อเปิดตัวในตอนแรก
  • --debug - Deploys the app in debug mode. หลังจากเรียกใช้แอปในโหมดแก้ไขข้อบกพร่องแล้ว คุณต้องเชื่อมต่อโปรแกรมแก้ไขข้อบกพร่องจาก IDE เช่น Android Studio หรือเครื่องมือบรรทัดคำสั่งเพื่อเริ่มการแก้ไขข้อบกพร่อง
  • --device - หมายเลขซีเรียลของอุปกรณ์เป้าหมายหรือโปรแกรมจำลอง จำเป็น เฉพาะในกรณีที่เชื่อมต่ออุปกรณ์หลายเครื่อง หากต้องการดูหมายเลขซีเรียลของอุปกรณ์ ให้เรียกใช้ adb devices
  • --type - ประเภทคอมโพเนนต์ที่จะเริ่มต้น ใช้ตัวเลือกนี้หากต้องการเริ่มบริการที่ทำงานอยู่เบื้องหลังโดยตรงแทนกิจกรรม UI ประเภทที่รองรับ
    • ACTIVITY
    • WATCH_FACE
    • TILE
    • COMPLICATION
    • DECLARATIVE_WATCH_FACE

ตัวอย่าง

  • android run --apks=app/build/outputs/apk/debug/app-debug.apk - Deploy 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 - ระบุตำแหน่งไฟล์เพื่อบันทึกภาพหน้าจอ หาก ละไว้ ระบบจะพิมพ์ข้อมูล PNG ดิบไปยัง stdout โดยตรง
  • -a, --annotate - วาดกรอบล้อมรอบที่มีป้ายกำกับรอบองค์ประกอบ UI ทั้งหมด ที่ตรวจพบในรูปภาพเพื่อใช้กับคำสั่ง resolve

ตัวอย่าง: android screen capture --output=ui.png

screen resolve

การใช้งาน: android screen resolve --screenshot=<path> --string=<string>

คำอธิบาย: แปลป้ายกำกับภาพจากภาพหน้าจอที่มีคำอธิบายประกอบ ซึ่งแคปเจอร์โดยใช้ screen capture เป็นพิกัดหน้าจอจริง (x, y) มีประโยชน์สำหรับการเขียนสคริปต์คลิกในองค์ประกอบโดยไม่ต้องคำนวณตำแหน่งด้วยตนเอง

แฟล็ก:

  • --screenshot - เส้นทางไปยังภาพหน้าจอที่มีคำอธิบายประกอบ
  • --string - สตริงที่มีตัวยึดตำแหน่งอย่างน้อย 1 รายการที่สอดคล้องกับ ป้ายกำกับองค์ประกอบ UI ในรูปแบบ #<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]

คำอธิบาย: ติดตั้งแพ็กเกจ SDK ที่ระบุ

อาร์กิวเมนต์ (ต้องระบุ):

  • package[@version] - รายการแพ็กเกจที่จะติดตั้งที่คั่นด้วยช่องว่าง หากไม่ได้ระบุ เวอร์ชัน ระบบจะติดตั้งแพ็กเกจเวอร์ชันล่าสุดในช่อง (โดยค่าเริ่มต้นคือช่องเสถียร)

ตัวเลือก:

  • --beta - รวมแพ็กเกจเบต้า
  • --canary - รวมแพ็กเกจ Canary
  • --force - บังคับลดเวอร์ชันเป็นเวอร์ชันเก่า

ตัวอย่าง

  • android sdk install platforms/android-34 build-tools/34.0.0 - ติดตั้งแพ็กเกจ Android SDK Platform 34 และ SDK Built Tools 34.0.0 เวอร์ชันล่าสุดจากช่องที่เสถียร
  • android sdk install platforms/android-34@2 - ติดตั้งแพ็กเกจ Android SDK Platform 34 เวอร์ชัน 2
  • android sdk install --canary system-images/android-35/google_apis/x86_6 - ติดตั้งอิมเมจระบบ Android 35 เวอร์ชันล่าสุดจากช่อง Canary
  • android sdk install --force platforms/android-33@1 - เปลี่ยนกลับเป็นเวอร์ชัน 1 ของแพ็กเกจ Android SDK Platform 33 จากช่องที่เสถียร

sdk list

การใช้งาน: android sdk list <package-pattern>

คำอธิบาย: แสดงรายการแพ็กเกจ SDK ที่ติดตั้งและพร้อมใช้งาน

อาร์กิวเมนต์ (ต้องระบุ):

  • <package-pattern> - กรองแพ็กเกจตามรูปแบบ รองรับนิพจน์ทั่วไป

ตัวเลือก:

  • --all - แสดงแพ็กเกจที่ติดตั้งและพร้อมใช้งานทั้งหมด
  • --all-versions - แสดงเวอร์ชันทั้งหมดของแต่ละแพ็กเกจ
  • --beta - รวมแพ็กเกจเบต้า
  • --canary - รวมแพ็กเกจ Canary

sdk remove

การใช้งาน: android sdk remove <package-name>

คำอธิบาย: นำแพ็กเกจออกจาก SDK

อาร์กิวเมนต์ (ต้องระบุ):

  • <package-name> - ชื่อของแพ็กเกจที่จะนำออก

ตัวอย่าง: android sdk remove build-tools/36.1.0

sdk update

การใช้งาน: android sdk update [--beta] [--canary] [<package-name>]

คำอธิบาย: อัปเดตแพ็กเกจอย่างน้อย 1 รายการหรือทั้งหมดเป็นเวอร์ชันล่าสุดใน แชแนล (โดยค่าเริ่มต้นคือแชแนลที่เสถียร) หากคุณไม่ระบุแพ็กเกจ ระบบจะอัปเดตแพ็กเกจทั้งหมด

ตัวเลือก:

  • <package-name> - ชื่อของแพ็กเกจที่จะอัปเดต
  • --beta - รวมแพ็กเกจเบต้า
  • --canary - รวมแพ็กเกจ Canary
  • --force - บังคับลดเวอร์ชันเป็นเวอร์ชันเก่า

ตัวอย่าง

  • android sdk update - ตรวจสอบและติดตั้งการอัปเดตทุกอย่างใน SDK
  • android sdk update build-tools/34.0.0 - อัปเดตแพ็กเกจเครื่องมือสร้าง Android SDK 34.0.0 เป็นเวอร์ชันล่าสุดในช่องทางที่เสถียร
  • android sdk update --canary platforms/android-35 - อัปเดตแพ็กเกจ Android SDK Platforms 35 เป็นเวอร์ชันล่าสุดในแชแนล Canary

skills add

ทักษะ Android เป็นคำสั่งพิเศษที่ออกแบบมาเพื่อช่วยให้ตัวแทนเข้าใจและ ปฏิบัติตามรูปแบบที่เฉพาะเจาะจงได้ดียิ่งขึ้นตามแนวทางปฏิบัติแนะนำและ คำแนะนำในการพัฒนา Android ดูข้อมูลเพิ่มเติมได้ที่ ข้อมูลเบื้องต้นเกี่ยวกับทักษะ Android

การใช้งาน: android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]

คำอธิบาย: ติดตั้งทักษะ Android ลงในไดเรกทอรีทักษะสำหรับเอเจนต์ทั้งหมดที่ตรวจพบ หากคุณไม่มีไดเรกทอรีตัวแทนอยู่แล้วและไม่ได้ ระบุตัวแทนใดตัวแทนหนึ่ง ระบบจะติดตั้งทักษะสำหรับ Gemini และ Antigravity ที่ ~/.gemini/antigravity/skills หากคุณติดตั้งทักษะ Android ไว้แล้ว skills add จะอัปเดตทักษะเป็นเวอร์ชันล่าสุด

ตัวเลือก:

  • --all - ติดตั้งหรืออัปเดตทักษะ Android ทั้งหมดพร้อมกัน หากไม่ระบุ (และไม่ได้ระบุ --skill ) ระบบจะติดตั้งเฉพาะทักษะ android-cli
  • --agent - รายการที่คั่นด้วยคอมมาของเอเจนต์ที่จะติดตั้งหรืออัปเดตทักษะให้ หากไม่ระบุ ระบบจะติดตั้งทักษะสำหรับเอเจนต์ที่ตรวจพบทั้งหมด
  • --skill - ชื่อทักษะที่คุณต้องการติดตั้งหรืออัปเดต หากไม่ระบุ (และไม่ได้ระบุ --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=<skill-name>

คำอธิบาย: นำทักษะออก หากไม่ได้ระบุเอเจนต์ใดๆ ระบบจะนำ ทักษะออกสำหรับเอเจนต์ทั้งหมด

อาร์กิวเมนต์ (ต้องระบุ):

  • --skill - ชื่อของทักษะที่จะนำออก

ตัวเลือก:

  • --agent - รายการตัวแทนที่คั่นด้วยคอมมาเพื่อนำทักษะออก หาก ไม่ระบุ ระบบจะนำทักษะออกสำหรับตัวแทนทั้งหมด

ตัวอย่าง: android skills remove --agent='gemini' --skill=edge-to-edge

studio check

studioคำสั่งช่วยให้คุณหรือ AI Agent โต้ตอบกับอินสแตนซ์ที่ใช้งานอยู่ของ Android Studio ได้ การเชื่อมต่อกับอินสแตนซ์ที่ทำงานอยู่จะช่วยให้คุณ ใช้ความสามารถของ IDE เพื่อวิเคราะห์ไฟล์ ค้นหาการประกาศสัญลักษณ์และการ ใช้งาน แสดงตัวอย่าง Compose และค้นหาเวอร์ชันของ Dependency ได้

การใช้งาน: android studio check

คำอธิบาย: ตรวจสอบสถานะของอินสแตนซ์ Android Studio ที่กำลังทำงานและแสดงรายการ โปรเจ็กต์ที่เปิดอยู่ เรียกใช้คำสั่งนี้ก่อนเพื่อยืนยันการเชื่อมต่อระหว่าง CLI กับ IDE และเพื่อเลือก PID และโปรเจ็กต์ที่ต้องการเชื่อมต่อ หากมีหลายรายการ

ตัวอย่างเอาต์พุต:

หากเชื่อมต่อแล้ว เอาต์พุตจะแสดง PID ของอินสแตนซ์ 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 เพื่อหาข้อผิดพลาด คำเตือน และ Lint โดยใช้เครื่องมือตรวจสอบในตัวของ IDE

อาร์กิวเมนต์ (ต้องระบุ):

  • <path> - เส้นทางของไฟล์ Kotlin หรือ Java ที่จะวิเคราะห์

ตัวเลือก:

  • --pid=<pid> - PID ของอินสแตนซ์ 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> - PID ของอินสแตนซ์ 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> - PID ของอินสแตนซ์ 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> - PID ของอินสแตนซ์ 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>

คำอธิบาย: แสดงตัวอย่าง UI ของ Jetpack Compose และจะแสดงผล แผนผัง Semantics ของเลย์เอาต์หรือไม่ก็ได้ ซึ่งมีประโยชน์สำหรับการทดสอบภาพหรือการเปิดใช้เอเจนต์ AI เพื่อทำงานกับเลย์เอาต์ของ UI

อาร์กิวเมนต์ (ต้องระบุ):

  • <path> - เส้นทางไปยังไฟล์ Kotlin ที่มีตัวอย่าง Compose
  • <composable> - ชื่อของฟังก์ชันตัวอย่างที่ประกอบกันได้ (ทำเครื่องหมายด้วย @Preview)

ตัวเลือก:

  • --output-image-file=<filename> - ระบุชื่อไฟล์ที่จะเขียนรูปภาพ PNG ที่เรนเดอร์แล้ว หากไม่ระบุ ระบบจะสร้างไฟล์ชั่วคราว
  • --print-semantics - หากเป็นจริง จะพิมพ์แผนผังความหมายด้านการช่วยเหลือพิเศษของตัวอย่าง Compose ที่แสดงผลในรูปแบบ JSON ซึ่งจะช่วยให้ตัวแทนแยกวิเคราะห์ โครงสร้างและองค์ประกอบแบบโต้ตอบของ UI ได้
  • --pid=<pid> - PID ของอินสแตนซ์ 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...>

คำอธิบาย: ค้นหาเวอร์ชันล่าสุดของทรัพยากร Dependency ทั่วไป แพลตฟอร์ม Android และเครื่องมือ SDK ในที่เก็บ เช่น Google Maven ซึ่งเป็นทางเลือกแบบเป็นโปรแกรมแทนการตรวจสอบเวอร์ชันของทรัพยากร Dependency ด้วยตนเอง

อาร์กิวเมนต์ (ต้องระบุ):

  • <artifacts...> - รายการตัวระบุที่คั่นด้วยช่องว่าง คุณสามารถค้นหา อาร์ติแฟกต์หลายรายการในคำสั่งเดียว ตัวระบุที่รองรับมีดังนี้
    • ไลบรารี Maven: สัญกรณ์ groupId:artifactId (เช่น androidx.window:window)
    • ปลั๊กอิน Gradle: รหัสปลั๊กอิน (เช่น com.android.application)
    • คีย์เวิร์ด
      • gradle (เครื่องมือสร้าง Gradle)
      • studio (Android Studio)
      • agp (ปลั๊กอิน Android Gradle)
      • ndk (Android NDK)
      • sdk (Android SDK)
      • emulator (โปรแกรมจำลอง Android)
      • adb (Android Debug Bridge)
      • compose (BOM ของ Jetpack Compose)
      • kotlin (รันไทม์และคอมไพเลอร์ Kotlin)
      • android (เวอร์ชันระบบปฏิบัติการ Android)
      • platform-tools (Android SDK Platform-Tools)
      • cmdline-tools (เครื่องมือบรรทัดคำสั่งของ Android SDK)
      • build-tools (เครื่องมือสร้าง Android SDK)

ตัวเลือก:

  • --pid=<pid> - PID ของอินสแตนซ์ 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 CLI

-V, --version

คำอธิบาย: แสดงเวอร์ชันปัจจุบันของ Android CLI