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 ได้ทันที โดยไม่ต้องเชื่อมต่อใหม่ทุกครั้ง เพราะระบบแอนดรอยด์จะทำการเชื่อมต่อให้โดยอัตโนมัติด้วย