ADB ก็เป็นอีกอย่างหนึ่งที่นักพัฒนาขาดไปไม่ได้ เพราะเป็นช่องทางที่จะช่วยให้นักพัฒนาแอปบนแอนดรอยด์ได้สะดวกมากขึ้น เพื่อใช้ทดสอบและตรวจสอบการทำงานของแอปบนอุปกรณ์แอนดรอยด์

แต่ปัญหาอย่างหนึ่งก็คือ โดยปกติแล้วการใช้งาน ADB จะต้องเชื่อมต่อผ่านสาย USB เป็นหลัก และถึงแม้ว่าบนแอนดรอยด์จะสามารถสั่งเปิดให้เชื่อมต่อ ADB ผ่าน WiFi ได้ก็ตาม แต่การจะเปิดใช้งานก็ต้องเชื่อมต่อผ่านสาย USB เพื่อเปิดใช้งานการเชื่อมต่อ ADB ผ่าน WiFi เสียก่อน ซึ่งไม่ค่อยสะดวกซักเท่าไร

แต่สำหรับ Android 11 นั้น ทีมพัฒนาได้เพิ่มฟีเจอร์สำหรับเรื่องนี้โดยเฉพาะ มีชื่อเรียกว่า Wireless Debugging ซึ่งจะช่วยให้นักพัฒนาแอนดรอยด์สามารถเชื่อมต่อ ADB กับอุปกรณ์แอนดรอยด์ผ่าน WiFi ได้ทันที โดยไม่จำเป็นต้องเสียบสาย USB เพื่อเปิดใช้งานก่อนเลย

โดยเมนูดังกล่าวจะอยู่ใน Developer options > Wireless debuggings โดยอยู่ใน Section เดียวกับ USB debugging

เมื่อกดเปิด Wireless Debugging ก็จะมีหน้าต่างแสดงขึ้นมาเพื่อยืนยันการเปิด Wireless Debugging สำหรับ WiFi ที่กำลังเชื่อมต่ออยู่

ใช่ครับ การเปิด Wireless Debugging จะไม่ได้มีผลกับ WiFi ทุกตัว เพื่อให้นักพัฒนาสามารถเลือกได้ว่าจะเปิด Wireless Debugging ให้กับ Access Point ไหนบ้าง (เช่น เฉพาะ WiFi ที่บ้านและที่ทำงานเท่านั้น) และสามารถกดเลือก Always allow on this network เพื่อไม่ให้ระบบถามอีกในครั้งหน้าได้ด้วย

หลังจากเปิดใช้งานเรียบร้อยแล้ว เมื่อลองกดเข้าไปที่เมนู Wireless debugging ก็จะเป็นหน้าแสดงรายละเอียดสำหรับ โดยจะมีปุ่มอยู่ 2 ปุ่มเพื่อใช้ในการเชื่อมต่อกับเครื่องคอมพิวเตอร์ด้วยกัน

เชื่อมต่อผ่าน Pairing Code

เมื่อกดเมนู Pair device with pairing code ก็จะมีหน้าต่างแสดงขึ้นมาแบบนี้

ฝั่งคอมพิวเตอร์จะต้องใช้คำสั่ง ADB เพื่อเชื่อมต่อกับอุปกรณ์แอนดรอยด์ โดยกำหนดค่าต่างๆตามที่หน้าจอแสดงขึ้นมาให้

และสำหรับการเชื่อมต่อ ADB แบบ Wireless Debugging จะไม่ได้ใช้คำสั่ง  adb tcp แบบเวอร์ชันก่อนๆ แต่จะใช้ adb pair ซึ่งเป็นคำสั่งที่เพิ่มเข้ามาใหม่ใน ADB แทน

adb pair 192.168.86.20:38113

จากนั้นก็ใส่ Pairing Code ให้ตรงกับที่แสดงอยู่บนหน้าจอ

adb pair 192.168.86.20:38113
Enter pairing code : 754316
Successfully paired to 192.168.86.20:38113 [guid=adb-00231FFBZ007D0-Z5PhJI]

เมื่อลองใช้คำสั่ง adb devices เช็คดูก็จะพบว่าคอมพิวเตอร์ที่ใช้อยู่ได้เชื่อมต่อกับอุปกรณ์แอนดรอยด์ผ่าน Wireless Debugging เรียบร้อยแล้ว

adb devices
List of devices attached
adb-00231FFBZ007D0-Z5PhJI._adb-tls-connect._tcp.    device

หรือจะดูบนหน้าจออุปกรณ์แอนดรอยด์ก็ได้เช่นกัน

เชื่อมต่อผ่าน QR Code

เมื่อกดเมนู Pair device with QR code ก็จะมีหน้าต่างแสดงขึ้นมาแบบนี้

เพื่อให้ผู้ที่หลงเข้ามาอ่านใช้อุปกรณ์แอนดรอยด์ส่องกล้องไปที่ QR Code เพื่อทำการเชื่อมต่อนั่นเอง

และสำหรับ QR Code นั้น ผู้ที่หลงเข้ามาอ่านจะต้องสร้างข้อมูลสำหรับ QR Code ขึ้นมาเอง โดยใช้ Pattern แบบนี้

WIFI:T:ADB;S:<name>;P:<code>;;
  • name ชื่อใดๆก็ได้เพื่อใช้แสดงบนคอมพิวเตอร์
  • code Pairing Code 6 หลัก ตั้งได้ตามใจชอบ

ยกตัวอย่างเช่น เจ้าของบล็อกกำหนดข้อมูลสำหรับ QR Code แบบนี้

WIFI:T:ADB;S:Android;P:123456;;

และเมื่อนำอุปกรณ์แอนดรอยด์มาแสกน (ต้องสแกนผ่านกล้องที่เปิดจากเมนู Pairing device with QR code นะ) ก็จะเข้าสู่หน้าเชื่อมต่ออุปกรณ์ทันที

แต่ทว่าจะยังไม่ได้เชื่อมต่อกันในทันที ที่เห็นอยู่บนหน้าจอของอุปกรณ์แอนดรอยด์นั้นหมายถึงว่ากำลังรอการเชื่อมต่อจากคอมพิวเตอร์อยู่

ดังนั้นที่ฝั่งคอมพิวเตอร์ก็จะต้องเช็คก่อนว่ามี Incoming Connection จากอุปกรณ์แอนดรอยด์หรือไม่ โดยใช้คำสั่งแบบนี้

dns-sd -L <name> _adb-tls-pairing._tcp
  • name ชื่อที่กำหนดไว้ตอนสร้าง QR Code

เนื่องจากเจ้าของบล็อกกำหนดชื่อไว้เป็น Android ดังนั้นก็จะต้องใช้คำสั่งแบบนี้

dns-sd -L Android _adb-tls-pairing._tcp

คำสั่งดังกล่าวจะแสดงรายละเอียดของอุปกรณ์แอนดรอยด์ที่กำลังรอการเชื่อมต่ออยู่นั่นเอง

dns-sd -L Android _adb-tls-pairing._tcp
Lookup Android._adb-tls-pairing._tcp.local
DATE: ---Sun 13 Sep 2020---
15:19:54.943  ...STARTING...
15:19:55.207  Android._adb-tls-pairing._tcp.local. can be reached at Android.local.:38293 (interface 6)

จะเห็นว่าในข้อมูลดังกล่าวมีบอกไว้ด้วยว่ารอการเชื่อมต่อผ่าน Port 38293

จากนั้นก็ให้ใช้คำสั่ง adb pair เพื่อเชื่อมต่อกับอุปกรณ์แอนดรอยด์

adb pair Android.local.:38293 123456

เมื่อลองใช้คำสั่ง adb devices เช็คดูก็จะพบว่าคอมพิวเตอร์ที่ใช้อยู่ได้เชื่อมต่อกับอุปกรณ์แอนดรอยด์ผ่าน Wireless Debugging เรียบร้อยแล้ว

adb devices
List of devices attached
adb-00231FFBZ007D0-Z5PhJI._adb-tls-connect._tcp.    device

หรือจะดูบนหน้าจออุปกรณ์แอนดรอยด์ก็ได้เช่นกัน

ใช้คำสั่ง Pair ใน ADB ไม่ได้ ทำยังไงดี?

เนื่องจากคำสั่ง adb pair เป็นคำสั่งที่เพิ่มเข้ามาใหม่ใน ADB เวอร์ชันหลังๆ ถ้าไม่สามารถใช้คำสั่งดังกล่าวได้ ดังนั้นจะต้องอัปเดตผ่าน Android SDK Manager ให้เป็นเวอร์ชันล่าสุดก่อน

โดยการอัปเดต ADB บน Android SDK Manager จะอยู่ใน SDK Tools > Android SDK Platform-Tools สามารถกดเลือกแล้วอัปเดตได้เลย

ดูรายละเอียดและยกเลิกการเชื่อมต่อ ADB กับคอมพิวเตอร์แต่ละเครื่องได้ด้วย

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

โดยนักพัฒนาสามารถกดเข้าไปดูรายละเอียดของเครื่องที่เคยเชื่อมต่อได้ด้วย โดยจะมีข้อมูล Device Fingerprint ของเครื่องนั้นๆด้วย และถ้าอยากจะลบเครื่องนั้นๆทิ้ง ก็สามารถเลือกเครื่องที่ต้องการแล้วกด Forget ได้เลย

ขี้เกียจเข้าไปกดเปิดทุกครั้ง ก็สามารถกดเปิดผ่าน Quick Settings Tiles ได้นะ

สำหรับนักพัฒนาแอนดรอยด์ที่มีการเชื่อมต่อ ADB อยู่บ่อยๆ ถ้าต้องเข้าไป Settings > Developer options > Wireless debugging เพื่อกดเปิด ADB ทุกครั้ง ก็คงแอบหงุดหงิดน่าดู เพราะต้องกดหลายขั้นตอนเหลือเกิน

เพื่อให้การกดเปิด/ปิด Wireless Debugging เป็นเรื่องง่ายขึ้น นักพัฒนาสามารถเปิดใช้งานให้อยู่ใน Quick Settings Tiles (ที่อยู่ใน System Bars ข้างบน)ได้เช่นกัน

โดยจะต้องเข้าไปใน Developer options > Quick settings developer tiles แล้วกดเปิด Wireless debugging ก่อน เพื่อให้สามารถเพิ่ม Quick Settings ของ Wireless Debugging เข้าไปได้

จากนั้นก็สามารถเพิ่ม Quick Settings ของ Wireless Debugging ได้ตามใจชอบเลย

เชื่อมต่อ ADB ผ่าน WiFi ได้ง่ายๆแล้ว เย้!

บ่อยครั้งที่นักพัฒนาจำเป็นต้องเชื่อมต่อ ADB ผ่าน WiFi เพราะไม่สะดวกเชื่อมต่อผ่านสาย USB แต่ทว่าวิธีการเชื่อมต่อ ADB ผ่าน WiFi แบบเดิมๆที่ใช้กันก็มีขั้นตอนที่ต้องทำหลายขั้นตอน และไม่สามารถเชื่อมต่อผ่าน WiFi ได้โดยตรงเลย ถ้าไม่เชื่อมต่อผ่าน USB ก่อน (เพราะต้องใช้คำสั่ง ADB เพื่อสั่งให้เปิดการเชื่อมต่อผ่าน WiFi)

แต่ด้วยความสามารถของ Wireless Debugging ที่มาใหม่ใน Android 11 จะเห็นว่าขั้นตอนในการเชื่อมต่อนั้นไม่จำเป็นต้องเชื่อมต่อผ่าน USB ก่อนเลย นักพัฒนาสามารถกดเปิดใช้งาน Wireless Debugging บนอุปกรณ์แอนดรอยด์แล้วใช้คำสั่ง ADB เพื่อทำการเชื่อมต่อได้ทันที

และที่ชอบที่สุดก็คือนักพัฒนาสามารถต่อ WiFi และเปิด Wireless Debugging ได้ทันที โดยไม่ต้องเชื่อมต่อใหม่ทุกครั้ง เพราะระบบแอนดรอยด์จะทำการเชื่อมต่อให้โดยอัตโนมัติด้วย

แหล่งข้อมูลอ้างอิง