- 1. Android CLI คืออะไร
- 2. เหตุใดจึงเกี่ยวข้องกับ Agentic AI
- 3. ความสามารถหลักที่ควรรู้
- 4. ติดตั้งและตรวจสอบ
- 5. เริ่มใช้กับ Coding Agent
- 6. Workshop: สร้างแอป Counter
- 7. ประยุกต์กับการทดสอบและ CI/CD
- 8. ปัญหาที่พบบ่อย
- 9. สรุป
- แหล่งอ้างอิง
#1. Android CLI คืออะไร
Android CLI เป็นเครื่องมือบรรทัดคำสั่งของ Google ที่ช่วยให้นักพัฒนา สคริปต์ และ AI coding agent เข้าถึงงานพัฒนา Android ผ่าน interface ร่วมกัน เช่น เตรียม SDK สร้างโปรเจกต์ build และรันแอป ตรวจ UI และเชื่อมต่อเครื่องมือใน Android Studio [1]
Google ประกาศ Android CLI stable 1.0 เมื่อวันที่ 19 พฤษภาคม 2026 โดยกล่าวถึงการทำงานร่วมกับ agent หลายค่าย รวมถึง Claude Code และ Codex [2]
ในบทความนี้ “Android CLI” หมายถึงผลิตภัณฑ์ปัจจุบันของ Google ไม่ใช่แอป terminal บนโทรศัพท์หรือโครงการชื่อคล้ายกันบน GitHub ส่วนคำสั่ง android จาก SDK Tools ยุคเก่าอาจมีรูปแบบต่างกัน จึงต้องตรวจสอบ executable และเวอร์ชันก่อนทำตาม
#2. เหตุใดจึงเกี่ยวข้องกับ Agentic AI
เมื่อ agent ได้รับโจทย์ว่า “สร้างแอปนับจำนวนและทดสอบปุ่มเพิ่มค่า” การเขียน Kotlin เป็นเพียงส่วนหนึ่งของงาน ผู้พัฒนายังต้องเตรียมเครื่องมือ เปิดอุปกรณ์ build ติดตั้ง ตรวจหน้าจอ และหาสาเหตุเมื่อผลลัพธ์ไม่ถูกต้อง
Android CLI ทำให้ agent เรียกใช้ขั้นตอนเหล่านี้ได้จาก terminal ส่วน Android skills ให้คำแนะนำเฉพาะด้านในรูปแบบ SKILL.md เช่น วิธีใช้เครื่องมือและแนวทาง Android ที่เกี่ยวข้อง [3]
บทบาทแต่ละส่วนจึงเป็นดังนี้:
| ส่วนประกอบ | หน้าที่ใน workflow |
|---|---|
| ผู้พัฒนา | กำหนดเป้าหมาย ข้อจำกัด และเกณฑ์ยอมรับ |
| Coding agent | วางแผน แก้โค้ด และเลือกเรียกเครื่องมือ |
| Android CLI | เป็นช่องทางเข้าถึงงานพัฒนาและตรวจแอป |
| SDK และ build system | จัดเตรียม platform และสร้าง artifact |
| Emulator / อุปกรณ์จริง | รันแอปและแสดงพฤติกรรม |
| หลักฐานการทดสอบ | ใช้ยืนยันว่าแอปตรงตามข้อกำหนด |
ตารางนี้เป็นการอธิบายบทบาทเพื่อออกแบบ workshop ไม่ใช่การรับรองว่า agent ทุกตัวจะทำงานสำเร็จโดยอัตโนมัติ
#3. ความสามารถหลักที่ควรรู้
คำสั่งใน reference ปัจจุบันครอบคลุมงานสำคัญดังนี้ [4]
| กลุ่ม | ตัวอย่างคำสั่ง | ใช้ทำอะไร |
|---|---|---|
| Environment | android info, android update |
ตรวจสภาพแวดล้อมและอัปเดต CLI |
| SDK | android sdk |
จัดการแพ็กเกจ SDK |
| Project | android create |
สร้างโปรเจกต์จาก template |
| Build / Run | android build, android run |
สร้างและเปิดแอป |
| Emulator | android emulator |
จัดการอุปกรณ์เสมือน |
| UI | android layout, android input, android screen |
อ่านโครงสร้าง โต้ตอบ และจับภาพ |
| Knowledge | android docs, android skills |
เข้าถึงเอกสารและ skills |
| IDE | android studio |
เชื่อมต่อ Android Studio ที่เปิดอยู่ |
| Performance | android profiler |
เก็บข้อมูลเพื่อวิเคราะห์ประสิทธิภาพ |
| Field issues | android signals |
ตรวจข้อมูลปัญหาจาก Crashlytics |
ความสามารถบางส่วนต้องมีโปรเจกต์ อุปกรณ์ บริการ หรือ Android Studio ที่เข้ากันได้เพิ่มเติม การติดตั้ง CLI อย่างเดียวไม่ได้เตรียมทุกส่วนให้พร้อมทันที
#4. ติดตั้งและตรวจสอบ
#4.1 เตรียมเครื่อง
สำหรับ workshop ให้เตรียมคอมพิวเตอร์ที่ติดตั้ง CLI ได้ อินเทอร์เน็ตสำหรับ SDK และ dependencies และ emulator หรือโทรศัพท์ทดสอบ หากใช้โปรเจกต์ Gradle ต้องมี JDK ที่เข้ากันได้กับ Android Gradle Plugin ของโปรเจกต์นั้น
ดาวน์โหลดตามระบบปฏิบัติการและสถาปัตยกรรมจาก หน้าทางการ [5] ไม่ควรนำคำสั่งติดตั้งจาก SDK รุ่นเก่ามาปะปน
สำหรับ Windows Google ยกตัวอย่างการติดตั้งผ่าน winget ไว้ดังนี้ [2]:
winget install -e --id Google.AndroidCLI
สำหรับ macOS และ Linux ให้เลือกวิธีติดตั้งที่หน้าดาวน์โหลดปัจจุบันระบุ แล้วเปิด terminal ใหม่เพื่อให้ PATH มีผล
#4.2 ตรวจ CLI และ SDK
android --version
android --help
android info
macOS / Linux ตรวจตำแหน่ง executable ได้ด้วย:
command -v android
Windows PowerShell:
Get-Command android
อัปเดตก่อนเริ่ม workshop แล้วบันทึกเวอร์ชันที่ใช้:
android update
android --version
การสอนควรเตรียมเครื่องและตรวจคำสั่งล่วงหน้า เพื่อให้ทุกกลุ่มใช้รุ่นที่สอดคล้องกัน [1]
#4.3 เลือก SDK ให้ถูกตำแหน่ง
android --sdk=/absolute/path/to/Android/sdk info
android sdk list
แทน path ตัวอย่างด้วย SDK จริง หากต้องใช้ประจำสามารถกำหนด --sdk=... ในไฟล์ .androidrc ตามตำแหน่งที่เอกสารระบุ [1]
SDK package ใช้ชื่อแบบ slash ได้ เช่น platforms/android-34 และยังรองรับชื่อแบบ semicolon เพื่อความเข้ากันได้ [6] ก่อนติดตั้งให้ดู compileSdk ของโปรเจกต์และเลือกแพ็กเกจให้ตรงกัน:
android sdk install --help
#5. เริ่มใช้กับ Coding Agent
ตั้งค่า skill เริ่มต้นด้วย:
android init
จากนั้นให้ agent ตรวจว่าอ่าน skill ได้ใน environment ของตน การติดตั้ง CLI และการติดตั้ง skill เป็นคนละส่วน: ส่วนแรกให้ executable ส่วนหลังให้แนวทางใช้งาน [1][3]
หากต้องการ skill เพิ่มเติม ตัวอย่างจาก repository ทางการคือ:
android skills add r8-analyzer --project=.
คำสั่งนี้ติดตั้งคำแนะนำสำหรับวิเคราะห์ R8 ลงในโปรเจกต์ปัจจุบัน เลือกเฉพาะ skill ที่สอดคล้องกับงาน แล้วตรวจการเปลี่ยนแปลงก่อน commit [3]
ตัวอย่าง prompt สำหรับ agent:
ช่วยพัฒนาแอป Counter สำหรับการเรียน Android
1. อ่าน Android CLI skill และตรวจ android --version กับ android info
2. ตรวจ project template และใช้ Kotlin กับ Jetpack Compose
3. สร้างหน้า Counter ที่เริ่มต้นด้วยค่า 0 มีปุ่ม Increase และ Reset
4. แยกตรรกะ counter ให้ทดสอบได้
5. build และรันบนอุปกรณ์ทดสอบที่ฉันเลือก
6. ตรวจ layout และภาพหน้าจอก่อนและหลังการกดปุ่ม
7. รันทดสอบที่เกี่ยวข้อง แล้วสรุปไฟล์ที่แก้ คำสั่ง ผล และข้อจำกัด
เกณฑ์ยอมรับ:
- กด Increase หนึ่งครั้งแล้วค่าเปลี่ยนจาก 0 เป็น 1
- กด Reset แล้วค่ากลับเป็น 0
- รายงานผลที่ยังไม่ได้รันอย่างตรงไปตรงมา
prompt นี้เป็นตัวอย่างที่ออกแบบเพื่อการสอน ไม่ใช่คำสั่ง built-in ของ Android CLI
#6. Workshop: สร้างแอป Counter
#ขั้นที่ 1: ดู template และสร้างโปรเจกต์
android create --list
android create --name="Counter Workshop" --application-id=com.example.counterworkshop --namespace=com.example.counterworkshop --output=counter-workshop
cd counter-workshop
เอกสารปัจจุบันระบุว่าเมื่อไม่ส่งชื่อ template จะใช้ empty Compose activity เป็นค่าเริ่มต้น directory ปลายทางต้องว่างหรือยังไม่มีอยู่ [7]
จุดตรวจ: มีไฟล์โปรเจกต์และ Gradle wrapper ตาม template ที่เลือก หาก template เปลี่ยนให้ยึดผล --list และ --help ของรุ่นที่ติดตั้ง
#ขั้นที่ 2: เตรียมอุปกรณ์
android emulator list
android emulator create --help
android emulator start --help
ถ้ามี AVD แล้ว ให้เปิดด้วยชื่อที่ได้จากรายการ:
android emulator start <AVD_NAME>
แทน <AVD_NAME> ด้วยชื่อจริง คำสั่ง start รอจน emulator พร้อมใช้งานตามเอกสาร [8] หากยังไม่มี AVD ให้สร้างตาม options ใน help โดยเลือก system image ที่เหมาะกับ CPU และ Android รุ่นที่ต้องการทดสอบ
หากใช้โทรศัพท์ ให้เปิด USB debugging และยืนยันการเชื่อมต่อบนเครื่องนั้น ตรวจ serial ได้ด้วย Android Platform-Tools ที่ติดตั้งไว้:
adb devices
#ขั้นที่ 3: เพิ่มพฤติกรรม Counter
ให้ผู้เรียนหรือ agent แก้หน้า Compose ของ template ตามเกณฑ์ต่อไปนี้:
| เหตุการณ์ | ก่อน | หลัง |
|---|---|---|
| เปิดแอปครั้งแรก | ยังไม่มี interaction | แสดง 0 |
| กด Increase | 0 | แสดง 1 |
| กด Increase อีกครั้ง | 1 | แสดง 2 |
| กด Reset | 2 | แสดง 0 |
ให้ตั้งข้อความหรือ accessibility description ที่ช่วยระบุปุ่มได้ชัดเจน และออกแบบ state ให้ตรวจสอบได้ ตารางนี้เป็น test oracle ของ workshop
#ขั้นที่ 4: Build และ Run
ภายใน root ของโปรเจกต์:
android build
android run :app
android build ตรวจ build system ของ workspace แล้วสร้าง target ส่วน android run สามารถ build จาก reference แล้ว deploy และเปิดแอปได้ [9][10]
ถ้าโปรเจกต์มี module ต่างจาก :app ให้เปลี่ยน target ตามโครงสร้างจริง เมื่อเชื่อมต่อหลายอุปกรณ์ให้ระบุ serial:
android run --device=emulator-5554 :app
emulator-5554 เป็นตัวอย่าง ต้องแทนด้วย serial ที่ตรวจพบ
#ขั้นที่ 5: ตรวจ UI และเก็บหลักฐาน
android layout --pretty
android layout --pretty --full --output=hierarchy.json
android screen capture --output=counter-before.png
android layout ให้ UI hierarchy เป็น JSON ซึ่งช่วยตรวจข้อความ resource ID และ accessibility description ขณะที่ screenshot ช่วยตรวจรูปลักษณ์จริง [11][12]
เมื่อปุ่ม Increase ปรากฏและ selector ตรงกับแอป:
android input tap 'text=/^Increase$/'
android layout --pretty
android screen capture --output=counter-after-increase.png
android input tap 'text=/^Reset$/'
android layout --pretty
android screen capture --output=counter-after-reset.png
input selector จับคู่กับ accessibility hierarchy ปัจจุบัน และค่าเริ่มต้นจะรายงานข้อผิดพลาดหากตรงกับหลาย element [13] หากหาไม่พบให้ตรวจ layout ใหม่แล้วแก้ selector ให้ตรงกับ UI ไม่ควรเดาว่าปุ่มถูกกดสำเร็จ
จุดตรวจ: อ่านผล layout และภาพที่ได้จริง แล้วเปรียบเทียบกับ test oracle การมีไฟล์ screenshot เพียงอย่างเดียวยังไม่ยืนยันว่าพฤติกรรมถูกต้อง
#ขั้นที่ 6: รันทดสอบ
สำหรับ Gradle project แบบมาตรฐานและ module app ตัวอย่างงานตรวจสอบคือ:
./gradlew testDebugUnitTest
./gradlew lintDebug
./gradlew connectedDebugAndroidTest
บน Windows ใช้ gradlew.bat แทน ./gradlew งาน instrumented test ต้องมีอุปกรณ์พร้อมและมี test ที่เกี่ยวข้อง ตรวจชื่อ task ด้วย ./gradlew tasks หาก template หรือ variant ต่างออกไป
คำสั่งเหล่านี้เป็น Gradle tasks ไม่ใช่ subcommand ของ Android CLI และ “task ผ่านแต่ไม่มี test case” ยังไม่ใช่หลักฐานว่าตรรกะ Counter ถูกทดสอบแล้ว
#7. ประยุกต์กับการทดสอบและ CI/CD
รูปแบบการทดลองที่เสนอสำหรับรายวิชา Software Testing คือให้ทุกกลุ่มใช้แอป เกณฑ์ยอมรับ และอุปกรณ์ชุดเดียวกัน จากนั้นเปรียบเทียบการทำงานด้วยคนกับการใช้ agent ร่วม Android CLI
| ตัวชี้วัดที่เสนอ | วิธีเก็บ |
|---|---|
| เวลาเสร็จงาน | ตั้งแต่เริ่มโจทย์จนผ่านเกณฑ์ |
| Build success | ผล build พร้อม log |
| Behavioral correctness | ผล test และหลักฐาน UI |
| จำนวนรอบแก้ไข | นับการแก้หลังตรวจพบข้อผิดพลาด |
| ค่าใช้จ่าย agent | token หรือค่าใช้บริการที่วัดได้ |
| การทำซ้ำ | รันโจทย์เดิมหลายครั้งและรายงานความแปรปรวน |
นี่เป็นข้อเสนอการออกแบบกิจกรรม ไม่ใช่ผลทดลองที่ดำเนินการแล้ว
สำหรับ CI ให้แยกงานที่ไม่ต้องมีอุปกรณ์ เช่น unit test และ lint ออกจากงาน UI ที่ต้องมี emulator พร้อมบันทึก CLI, JDK, SDK, AGP และ system image ของแต่ละรอบ เพื่อลดความต่างระหว่างเครื่อง
Google ยังมี Journeys ซึ่งใช้คำอธิบายประสบการณ์ผู้ใช้ด้วยภาษาธรรมชาติร่วมกับ agent และเครื่องมือทดสอบ [2][5] หากนำมาใช้ ให้บันทึกเงื่อนไขผ่าน/ไม่ผ่านและหลักฐานแยกจากคำสรุปของ agent
#8. ปัญหาที่พบบ่อย
| อาการ | สิ่งที่ควรตรวจ |
|---|---|
ไม่พบ android |
PATH และการเปิด terminal ใหม่ |
| คำสั่งต่างจากบทความ | เวอร์ชันและ android <command> --help |
| SDK ไม่ตรง | android info และ --sdk |
| Build ไม่ผ่าน | JDK, AGP, dependencies และ log ของ build system |
| ไม่พบอุปกรณ์ | Emulator ที่เปิดอยู่หรือการอนุญาต USB debugging |
| มีหลายอุปกรณ์ | ระบุ --device ในคำสั่งที่รองรับ |
| selector ไม่ตรง | ตรวจ android layout --pretty ณ หน้าจอปัจจุบัน |
| Agent ใช้ CLI ไม่เป็น | ตรวจการติดตั้งและการอ่าน skill |
| UI ดูถูกแต่พฤติกรรมผิด | เพิ่ม test ที่ตรวจ state และ edge case |
#9. สรุป
Android CLI ทำให้ terminal และ coding agent เข้าถึงงาน Android ได้เป็นระบบ ตั้งแต่เตรียมเครื่อง สร้างโปรเจกต์ ไปจนถึงตรวจแอปที่กำลังรัน คุณค่าของ workshop อยู่ที่การเชื่อมข้อกำหนดกับคำสั่งและหลักฐานที่ตรวจสอบได้ ผู้เรียนจึงควรฝึกอ่าน log ตรวจ UI และออกแบบ test oracle ควบคู่กับการสั่ง agent
#แหล่งอ้างอิง
- Overview of Android CLI
- Android CLI Now Stable 1.0 — 19 May 2026
- Android skills — official repository
- Android CLI command reference
- Agent tools and resources / downloads
- android sdk
- android create
- android emulator
- android build
- android run
- android layout
- android screen
- android input
