ภาพรวมของ 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 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

หากต้องการปิดใช้การเก็บรวบรวมข้อมูล ให้ใช้แฟล็ก --no-metrics เมื่อเรียกใช้คำสั่งด้วย Android CLI

ความคิดเห็นและปัญหา

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

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

  • ขณะนี้คำสั่ง 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>

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

ซึ่งเป็นแฟล็กที่ไม่บังคับที่คุณใช้กับคำสั่ง Android CLI อื่นๆ ได้

-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 - Deploy แอปในโหมดแก้ไขข้อบกพร่อง หลังจากเรียกใช้แอปในโหมดแก้ไขข้อบกพร่องแล้ว คุณต้องเชื่อมต่อดีบักเกอร์จาก 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 - Deploy 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] - รายการแพ็กเกจที่จะติดตั้งที่คั่นด้วยช่องว่าง หากไม่ได้ระบุ เวอร์ชัน ระบบจะติดตั้งแพ็กเกจเวอร์ชันล่าสุดในช่อง (โดยค่าเริ่มต้นคือช่อง Stable)

ตัวเลือก:

  • --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 - เปลี่ยนกลับไปใช้แพ็กเกจ Android SDK Platform 33 เวอร์ชัน 1 จากช่องที่เสถียร

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 Build Tools 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-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>

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

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

ตัวเลือก:

  • --agent - รายการ Agent ที่คั่นด้วยคอมมาเพื่อนำทักษะออกจาก Agent หากไม่ระบุ ระบบจะนำทักษะออกสำหรับ 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