เครื่องมือ ADB เป็นหนึ่งในสิ่งที่มีอยู่ในระบบปฏิบัติการ Android สำหรับผู้ใช้งานทั่วไปอาจไม่คุ้นชินกับคำนี้มากนัก นอกเสียจากว่าคุณจะเป็นคนที่ซุกซน เคยพยายาม Root เครื่อง หรือแฟลชรอม ด้วยตนเองมาก่อน
ในทางตรงกันข้าม หากคุณเป็นนักพัฒนาแอปพลิเคชันบนระบบปฏิบัติการ Android มันมีงานหลายอย่างที่เราต้องทำซ้ำซากบนอุปกรณ์ Android ไม่ว่าจะเป็นการทดลองติดตั้งแอปพลิเคชันเวอร์ชันใหม่, ถอนการติดตั้งเวอร์ชันเก่า, ล้างข้อมูลแคช (Cache), โอนย้ายข้อมูลจากอุปกรณ์หนึ่งไปยังอีกเครื่องหนึ่ง ฯลฯ งานเหล่านี้เป็นงานที่กินเวลาทำงานหากต้องมานั่งทำเอง แต่โชคดีที่เราสามารถใช้เครื่องมือพัฒนา หรือคอมพิวเตอร์ ในการควบคุมอุปกรณ์ Android ได้
แต่คำถามคือ คอมพิวเตอร์ กับอุปกรณ์ Android จะสื่อสารหากันได้อย่างไร ?
สิ่งนั้นก็คือ ADB ถ้าคุณผู้อ่านได้ยินเสียงนี้เป็นครั้งแรกก็ไม่ต้องกังวลไป เพราะในบทความนี้ เราจะอธิบายถึงทุกอย่างที่เกี่ยวข้องกับ ADB โดยไม่เพียงแค่อธิบายเกี่ยวกับ ADB เท่านั้น แต่จะอธิบายด้วยว่า ADB คืออะไร ? ทำไมมันถึงเป็นเครื่องมือที่ต้องมีสำหรับนักพัฒนาที่ทำงานบนระบบปฏิบัติการ Android
ADB ย่อมาจาก Android Debug Bridge มันเป็นเครื่องมืออเนกประสงค์แบบ การพิมพ์คำสั่ง (Command-Line) ที่ช่วยให้ คอมพิวเตอร์ (PC) กับอุปกรณ์ Android สามารถสื่อสารหากันได้ เปรียบเสมือนสะพานที่ช่วยให้เราสามารถใช้คอมพิวเตอร์ในการควบคุมอุปกรณ์ Android แบบรีโมตได้ นักพัฒนาสามารถใช้ ADB เพื่อติดตั้ง และทำการ Debug แอปพลิเคชัน, เข้าถึง Unix Shell หรือสร้างโปรแกรมการทำงานแบบอัตโนมัติ
ภาพจาก : https://theflutterist.medium.com/setting-up-adb-path-on-windows-android-tips-5b5cdaa9084b
เครื่องมือ ADB เป็นส่วนหนึ่งของ Android SDK (Software Development Kit) ที่สามารถใช้งานร่วมกับอุปกรณ์ Android ได้ผ่านการเชื่อมต่อด้วย พอร์ต USB หรือบางกรณีก็เชื่อมแบบไร้สายได้ มันเป็นเครื่องมือสำคัญสำหรับนักพัฒนา ที่ช่วยในการ Debug แอปพลิเคชัน แต่ก็มีประโยชน์สำหรับคนทั่วไปที่ต้องการจัดการอุปกรณ์ Android แบบเชิงลึกด้วยเช่นกัน
Android Debug Bridge เป็นส่วนหนึ่งของ Android Studio ซึ่งเป็น Integrated Development Environment (IDE) ของ Google สำหรับการพัฒนาแอป Android
โดย ADB เป็นเครื่องมือ Command-Line ที่มีคุณสมบัติในการใช้ Debug สมาร์ทโฟน หรือแท็บเล็ต ระบบปฏิบัติการ Android เพื่อควบคุมการทำงานของอุปกรณ์ ไม่ว่าอย่างการติดตั้งแอปพลิเคชัน หรือบันทึกกระบวนการต่าง ๆ ซึ่งการจะบรรลุกระบวนการเหล่านี้ได้ จะต้องประกอบขึ้นจากองค์ประกอบสามส่วน ดังนี้
อย่างแรกคือ Client ที่จะติดตั้งอยู่บนอุปกรณ์ที่เราใช้ในการพัฒนา หรือ Debug โดยเราจะใช้อุปกรณ์นี้ในการส่งคำสั่ง (Command) ไปยังอุปกรณ์ หรือตัวอีมูเลเตอร์ (Emulator) ด้วย Command-Line ผ่าน Terminal
Daemon หรือ Android Debug Bridge Daemon (ADBD) มันทำหน้าที่ประมวลผลคำสั่งที่ผู้ใช้ป้อนเข้าไป โดยมันจะทำงานอยู่เบื้องหลังบนอุปกรณ์ และอีมูเลเตอร์ที่ติดตั้ง ADB เอาไว้
สิ่งนี้จะทำงานอยู่บนอุปกรณ์ที่เราใช้ในการพัฒนา เพื่อสร้างการเชื่อมต่อระหว่างคอมพิวเตอร์ กับอุปกรณ์ หรืออีมูเลเตอร์ Android
สรุปสั้น ๆ Client ส่งคำสั่ง Command-Line, Daemon ทำหน้าที่ส่ง Command ไปยังอุปกรณ์ที่เชื่อมต่ออยู่ โดยทำงานอยู่ในเบื้องหลัง สุดท้ายเซิร์ฟเวอร์ จะรวมคำสั่งทั้งหมดที่สื่อสารระหว่าง Client และ Daemon โดยก็ทำงานอยู่เบื้องหลังเหมือน Daemon
ขั้นตอนในการทำงานของ ADB เริ่มต้น ADB Client จะค้นหาคำสั่ง ADB ที่กำลังประมวลผลอยู่ ถ้าไม่มีก็จะเริ่มดำเนินการขั้นตอนถัดไป เมื่อเซิร์ฟเวอร์เริ่มทำงาน มันจะกำหนด Local TCP Port แล้วรอรับคำสั่งที่ทาง ADB Client จะส่งมา โดยจะส่งผ่านพอร์ต 5037
จากนั้น เซิร์ฟเวอร์จะสร้างการเชื่อมต่อไปยังทุกอุปกรณ์ และค้นหาอุปกรณ์ หรืออีมูเลเตอร์ ด้วยการค้นหาในพอร์ตเลขคี่ที่อยู่ระหว่าง 5555 - 5585 เมื่อเซิร์ฟเวอร์ค้นพบ Daemon ก็จะเริ่มเชื่อมต่อไปยังพอร์ตดังกล่าว
ภาพจาก : https://emteria.com/learn/android-debug-bridge
ADB สามารถใช้งานผ่าน Command-Line จาก ระบบปฏิบัติการ Windows, ระบบปฏิบัติการ Linux, macOS หรือแม้แต่ ChromeOS มันถูกใช้เพื่อเชื่อมต่อกับสมาร์ทโฟน หรือแท็บเล็ต Android เพื่อดำเนินคำสั่งบางอย่างที่ยาก หรือเป็นไปไม่ได้ที่จะทำจากตัวอุปกรณ์เองโดยตรง
ตัวอย่างเช่น เราสามารถใช้ ADB เพื่อติดตั้ง APK, ย้ายไฟล์ระหว่างคอมพิวเตอร์ และอุปกรณ์, รัน Shell Command, ถ่ายภาพหน้าจอ หรือบันทึกวิดีโอหน้าจอ, ตรวจสอบข้อมูลรายละเอียดเกี่ยวกับอุปกรณ์, สร้าง ข้อมูล Log, และอื่น ๆ อีกมากมาย ADB ยังถูกเมื่อเราต้องการรูท (Root) หรือที่เรียกว่า Jailbreak และทำงานร่วมกับ Fastboot เพื่อแฟลชระบบไฟล์รูท ทั้งนี้ ADB ไม่ได้มีฟีเจอร์ "รูท" โดยตรง แต่ช่องโหว่รูทมักใช้ ADB ในการรันคำสั่งที่จำเป็นเพื่อให้ได้สิทธิ์การเข้าถึงระดับ Superuser
ADB เป็นเครื่องมือที่ทำงานค่อนข้างตรงไปตรงมา คำสั่งแต่ละคำสั่งจะถูกระบุด้วยคำสั่ง ADB
ภาพจาก : http://www.webupd8.org/2012/08/install-adb-and-fastboot-android-tools.html
เราสามารถติดตั้ง ADB บนคอมพิวเตอร์ได้หลายวิธี จะติดตั้ง Android Studio หรือติดตั้งแบบ Standalone ก็ได้
หากเราต้องการมากกว่าแค่เครื่องมือ ADB สำหรับการพัฒนาแอปพลิเคชัน ก็แนะนำให้ติดตั้ง Android Studio เพราะนี่คือสภาพแวดล้อมการพัฒนาเต็มรูปแบบสำหรับระบบปฏิบัติการ Android ที่จำเป็นต่อการพัฒนาแอปพลิเคชัน และซอฟต์แวร์อื่น ๆ อย่างไรก็ตาม ถ้าคุณไม่ใช่นักพัฒนา สภาพแวดล้อมอย่างเต็มรูปแบบของ Android Studio ก็อาจเกินความจำเป็น แต่ก็ต้องยอมรับว่า นี่เป็นวิธีการที่ง่ายที่สุดในการติดตั้ง ADB
อีกทางเลือกคือ เราสามารถดาวน์โหลด SDK Platform Tools เป็นเครื่องมือแบบ Standalone ได้ ภายในจะประกอบด้วยทุกอย่างที่จำเป็นต่อการใช้ ADB และ Fastboot
ภาพจาก : https://developer.android.com/studio?hl=th
| |
ภาพจาก : https://www.esper.io/blog/what-is-adb-on-android-and-what-can-you-do-with-it
การตั้งค่า และเริ่มใช้งาน ADB อาจจะรู้สึกยากในตอนแรก แต่เมื่อเริ่มคุ้นเคย กับคำสั่งต่าง ๆ มันจะใช้งานได้ง่ายขึ้นเรื่อย ๆ คำสั่ง ADB จะช่วยให้คุณสามารถควบคุมอุปกรณ์ Android ของคุณได้ดียิ่งขึ้น
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |