ทดสอบแอป Android บนอุปกรณ์จริงเสมอก่อนที่จะเผยแพร่แอปให้ผู้ใช้ หน้านี้จะอธิบายวิธีตั้งค่าสภาพแวดล้อมการพัฒนาและอุปกรณ์ Android สำหรับการทดสอบและการแก้ไขข้อบกพร่องผ่านการเชื่อมต่อ Android Debug Bridge (ADB)
ตั้งค่าอุปกรณ์สําหรับการพัฒนา
ก่อนเริ่มแก้ไขข้อบกพร่องในอุปกรณ์ ให้เลือกว่าต้องการเชื่อมต่อกับอุปกรณ์โดยใช้สาย USB หรือ Wi-Fi จากนั้นทำดังต่อไปนี้
ในอุปกรณ์ ให้เปิดแอปการตั้งค่า เลือกตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ แล้วเปิดใช้การแก้ไขข้อบกพร่องผ่าน USB (หากมี)
ตั้งค่าระบบให้ตรวจหาอุปกรณ์
- ChromeOS: ไม่จำเป็นต้องมีการกำหนดค่าเพิ่มเติม
- macOS: ไม่จำเป็นต้องมีการกำหนดค่าเพิ่มเติม
- Windows: ติดตั้งไดรเวอร์ USB สำหรับ ADB (หากมี) ดูคู่มือการติดตั้งและลิงก์ไปยังไดรเวอร์ OEM ได้ที่ติดตั้งไดรเวอร์ OEM USB
Ubuntu Linux: ตั้งค่าสิ่งต่อไปนี้
- ผู้ใช้แต่ละรายที่ต้องการใช้ ADB จะต้องอยู่ในกลุ่ม
plugdev
หากเห็นข้อความแสดงข้อผิดพลาดว่าคุณไม่ได้อยู่ในกลุ่มplugdev
ให้เพิ่มตัวเองโดยใช้คำสั่งต่อไปนี้
sudo usermod -aG plugdev $LOGNAME
Groups จะอัปเดตเมื่อเข้าสู่ระบบเท่านั้น คุณจึงต้องออกจากระบบเพื่อให้การเปลี่ยนแปลงนี้มีผล เมื่อเข้าสู่ระบบอีกครั้ง คุณจะใช้
id
เพื่อตรวจสอบว่าคุณอยู่ในกลุ่มplugdev
ได้- ระบบต้องติดตั้งกฎ
udev
ที่ใช้กับอุปกรณ์ แพ็กเกจandroid-sdk-platform-tools-common
มีชุดกฎudev
เริ่มต้นที่ชุมชนดูแลรักษาสำหรับอุปกรณ์ Android หากต้องการติดตั้ง ให้ใช้คำสั่งต่อไปนี้
apt-get install android-sdk-platform-tools-common
- ผู้ใช้แต่ละรายที่ต้องการใช้ ADB จะต้องอยู่ในกลุ่ม
เชื่อมต่อกับอุปกรณ์โดยใช้ USB
เมื่อตั้งค่าและเสียบปลั๊กผ่าน USB เรียบร้อยแล้ว ให้คลิก Run ใน Android Studio เพื่อ สร้างและเรียกใช้แอปในอุปกรณ์
คุณยังใช้ adb
เพื่อออกคำสั่งได้ ดังนี้
- ตรวจสอบว่าอุปกรณ์เชื่อมต่ออยู่โดยเรียกใช้คำสั่ง
adb devices
จากไดเรกทอรีandroid_sdk/platform-tools/
หากเชื่อมต่อแล้ว คุณจะเห็นอุปกรณ์ในรายการ - เรียกใช้คำสั่ง
adb
พร้อมแฟล็ก-d
เพื่อกำหนดเป้าหมายอุปกรณ์
เชื่อมต่ออุปกรณ์โดยใช้ Wi-Fi
Android 11 ขึ้นไปรองรับการติดตั้งใช้งานและการแก้ไขข้อบกพร่องของแอปแบบไร้สายจากเวิร์กสเตชันผ่าน Android Debug Bridge (ADB) ตัวอย่างเช่น คุณสามารถทำให้แอปที่แก้ไขข้อบกพร่องได้ใช้งานได้ในอุปกรณ์ระยะไกลหลายเครื่องโดยไม่ต้องเชื่อมต่ออุปกรณ์ผ่าน USB และไม่ต้องจัดการกับปัญหาการเชื่อมต่อ USB ที่พบได้ทั่วไป เช่น การติดตั้งไดรเวอร์
หากต้องการใช้การแก้ไขข้อบกพร่องผ่าน Wi-Fi คุณต้องจับคู่อุปกรณ์กับเวิร์กสเตชันโดยใช้รหัสการจับคู่ ในการเริ่มต้น ให้ทำตามขั้นตอนต่อไปนี้
- ตรวจสอบว่าเวิร์กสเตชันและอุปกรณ์เชื่อมต่อเครือข่ายไร้สายเดียวกัน
- ตรวจสอบว่าอุปกรณ์ใช้ Android 11 ขึ้นไป ดูข้อมูลเพิ่มเติมได้ที่ตรวจสอบและอัปเดตเวอร์ชัน Android
- ตรวจสอบว่าคุณติดตั้ง Android Studio เวอร์ชันล่าสุดแล้ว ดาวน์โหลดได้ที่นี่
- อัปเดต SDK Platform Tools เป็นเวอร์ชันล่าสุดในเวิร์กสเตชัน
หากต้องการเชื่อมต่อกับอุปกรณ์ ให้ทำตามขั้นตอนต่อไปนี้
- เปิด Android Studio แล้วเลือกจับคู่อุปกรณ์โดยใช้ Wi-Fi จากเมนูการเรียกใช้การกำหนดค่า
- เปิดใช้ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ในอุปกรณ์
- เปิดใช้การแก้ไขข้อบกพร่องผ่าน Wi-Fi ในอุปกรณ์
- แตะการแก้ไขข้อบกพร่องแบบไร้สายและจับคู่อุปกรณ์ โดยทำดังนี้
- หากต้องการจับคู่อุปกรณ์กับคิวอาร์โค้ด ให้เลือกจับคู่อุปกรณ์กับคิวอาร์โค้ด แล้วสแกนคิวอาร์โค้ดดังที่แสดงในรูปที่ 2
- หากต้องการจับคู่อุปกรณ์ด้วยรหัสการจับคู่ ให้เลือกจับคู่อุปกรณ์ด้วยรหัสการจับคู่จากกล่องโต้ตอบจับคู่อุปกรณ์ใหม่ผ่าน Wi-Fi เลือกจับคู่โดยใช้รหัสการจับคู่ในอุปกรณ์ รหัส 6 หลักจะปรากฏขึ้น เมื่ออุปกรณ์ปรากฏในหน้าต่างจับคู่อุปกรณ์ผ่าน Wi-Fi ให้ป้อนรหัส 6 หลักที่แสดงในอุปกรณ์ แล้วเลือกจับคู่
- หลังจากจับคู่แล้ว คุณจะพยายามติดตั้งใช้งานแอปในอุปกรณ์ได้
วิธีจับคู่อุปกรณ์อื่นหรือเลิกจำอุปกรณ์นี้ในเวิร์กสเตชัน
- ไปที่การแก้ไขข้อบกพร่องแบบไร้สายในอุปกรณ์
- แตะชื่อเวิร์กสเตชันในส่วนอุปกรณ์ที่จับคู่
- เลือกลืม
การมิเรอร์อุปกรณ์
คุณมิเรอร์อุปกรณ์จริงได้ในหน้าต่างอุปกรณ์ที่ทำงานอยู่ใน Android Studio เมื่อสตรีมจอแสดงผลของอุปกรณ์ไปยัง Android Studio โดยตรง คุณจะใช้ IDE ของ Studio เองเพื่อดำเนินการทั่วไปต่างๆ ได้ เช่น การเริ่มแอปและการโต้ตอบกับแอป การบิดหน้าจอ การพับโทรศัพท์ออกและพับเข้า และการเปลี่ยนระดับเสียง
การมิเรอร์อุปกรณ์จะพร้อมใช้งานเสมอเมื่อมีอุปกรณ์ที่เชื่อมต่อกับคอมพิวเตอร์ซึ่งเปิดใช้การแก้ไขข้อบกพร่องผ่าน USB หรือไร้สาย คุณสามารถเริ่มและหยุดการมิเรอร์โดยใช้หน้าต่างอุปกรณ์ที่ใช้หรือโปรแกรมจัดการอุปกรณ์ (มุมมอง > หน้าต่างเครื่องมือ > โปรแกรมจัดการอุปกรณ์) นอกจากนี้ คุณยังปรับแต่งได้ว่าจะให้เปิดใช้งานการมิเรอร์อุปกรณ์เมื่อใดในการตั้งค่า (การตั้งค่า > เครื่องมือ > การมิเรอร์อุปกรณ์)
เปลี่ยนเส้นทางเสียง
เมื่อใช้การมิเรอร์อุปกรณ์ คุณสามารถเปลี่ยนเส้นทางเสียงจากอุปกรณ์จริงที่เชื่อมต่ออยู่ไปยังลำโพงหรือหูฟังของคอมพิวเตอร์ได้ เมื่อใช้การเปลี่ยนเส้นทางเสียง ให้เชื่อมต่อหูฟังกับคอมพิวเตอร์ไว้เสมอ และฟังทั้งคอมพิวเตอร์และโทรศัพท์ที่เชื่อมต่อโดยไม่ต้องเชื่อมต่อกับอุปกรณ์หนึ่งอีกครั้งด้วยตนเอง หากต้องการเปิดใช้การเปลี่ยนเส้นทางเสียง ให้ไปที่ไฟล์ (Android Studio ใน macOS) > การตั้งค่า > เครื่องมือ > การมิเรอร์อุปกรณ์ แล้วเลือกเปลี่ยนเส้นทางเสียงจากอุปกรณ์ในเครื่อง โปรดทราบว่าระบบจะเปลี่ยนเส้นทางเสียงเสมอสำหรับอุปกรณ์ Firebase Test Lab ที่ใช้ Android 12 ขึ้นไป ไม่ว่าการตั้งค่าจะเป็นอย่างไร
ปัญหาที่ทราบ
อุปกรณ์บางอย่างอาจเข้ารหัสด้วยอัตราบิตที่ไม่พอที่จะรองรับการมิเรอร์อุปกรณ์ได้ ในสถานการณ์เหล่านี้ คุณอาจเห็นข้อผิดพลาดในหน้าต่างอุปกรณ์ที่ทำงานอยู่ รวมถึงบันทึกที่คล้ายกับต่อไปนี้
2023-06-01 15:32:22,675 [ 56094] WARN - ScreenSharingAgent Samsung SM-A045F API 33 - Too many video encoder errors:
2023-06-01 15:32:22,676 [ 56095] WARN - ScreenSharingAgent Samsung SM-A045F API 33 - encoder: c2.android.vp8.encoder
2023-06-01 15:32:22,676 [ 56095] WARN - ScreenSharingAgent Samsung SM-A045F API 33 - mime type: video/x-vnd.on2.vp8
2023-06-01 15:32:22,676 [ 56095] WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max resolution: 640x640
2023-06-01 15:32:22,676 [ 56095] WARN - ScreenSharingAgent Samsung SM-A045F API 33 - min resolution: 2x2
2023-06-01 15:32:22,676 [ 56095] WARN - ScreenSharingAgent Samsung SM-A045F API 33 - alignment: 2x2
2023-06-01 15:32:22,676 [ 56095] WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate: 960
2023-06-01 15:32:22,676 [ 56095] WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate for 288x640: 960
2023-06-01 15:32:22,870 [ 56289] WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max bitrate: 20000000
2023-06-01 15:32:22,871 [ 56290] WARN - ScreenSharingAgent Samsung SM-A045F API 33 - terminated with code 1
ประกาศเกี่ยวกับนโยบายความเป็นส่วนตัว
Android Studio จะเริ่มการมิเรอร์อุปกรณ์โดยอัตโนมัติสำหรับอุปกรณ์ที่เชื่อมต่อและจับคู่กัน ทั้งนี้ขึ้นอยู่กับการตั้งค่าการมิเรอร์อุปกรณ์ ซึ่งอาจส่งผลให้มีการเปิดเผยข้อมูลสำหรับอุปกรณ์ที่เชื่อมต่อกับคำสั่ง adb tcpip
เนื่องจากระบบจะส่งข้อมูลการมิเรอร์และคำสั่งผ่านช่องทางที่ไม่ได้เข้ารหัส นอกจากนี้ Android Studio ยังใช้ช่องทางที่ไม่ได้เข้ารหัสเพื่อสื่อสารกับเซิร์ฟเวอร์ adb ดังนั้นผู้ใช้รายอื่นในเครื่องโฮสต์อาจดักรับข้อมูลการมิเรอร์ได้
แก้ปัญหาการเชื่อมต่ออุปกรณ์
หากอุปกรณ์ไม่เชื่อมต่อกับ Android Studio ให้ลองทำตามขั้นตอนต่อไปนี้เพื่อแก้ปัญหา
แก้ปัญหาด้วยผู้ช่วยการเชื่อมต่อ
ผู้ช่วยการเชื่อมต่อจะแสดงวิธีการแบบทีละขั้นตอนเพื่อช่วยคุณตั้งค่าและใช้อุปกรณ์ผ่านการเชื่อมต่อ ADB
หากต้องการเริ่มผู้ช่วย ให้เลือกเครื่องมือ > แก้ปัญหาการเชื่อมต่ออุปกรณ์
ผู้ช่วยการเชื่อมต่อจะให้วิธีการ การควบคุมตามบริบท และรายการอุปกรณ์ที่เชื่อมต่อในชุดหน้าเว็บในแผง Assistant ใช้ปุ่มถัดไปและก่อนหน้าที่ด้านล่างของแผง Assistant เพื่อไปยังหน้าต่างๆ ตามที่ต้องการ
- เชื่อมต่ออุปกรณ์ผ่าน USB: ก่อนอื่นผู้ช่วยการเชื่อมต่อจะแจ้งให้คุณเชื่อมต่ออุปกรณ์ผ่าน USB และมีปุ่มสแกนอุปกรณ์ USB อีกครั้งเพื่อให้คุณเริ่มการสแกนใหม่สำหรับอุปกรณ์ที่เชื่อมต่อ
- เปิดใช้การแก้ไขข้อบกพร่อง USB: จากนั้นผู้ช่วยการเชื่อมต่อจะบอกวิธีเปิดใช้การแก้ไขข้อบกพร่อง USB ในตัวเลือกสำหรับนักพัฒนาแอปในอุปกรณ์
- รีสตาร์ทเซิร์ฟเวอร์ ADB: หากยังไม่เห็นอุปกรณ์ในรายการอุปกรณ์ที่พร้อมใช้งาน ให้ใช้ปุ่มรีสตาร์ทเซิร์ฟเวอร์ ADB ในหน้าสุดท้ายของเครื่องมือช่วยเชื่อมต่อ การรีสตาร์ทเซิร์ฟเวอร์ ADB ยังทําให้ ADB สแกนหาอุปกรณ์อีกครั้งด้วย หากยังคงไม่เห็นอุปกรณ์ในรายการอุปกรณ์ที่พร้อมใช้งาน ให้ลองทำตามขั้นตอนการแก้ปัญหาในส่วนต่อไปนี้
แก้ปัญหาการเชื่อมต่อ USB
หากตัวช่วยการเชื่อมต่อตรวจไม่พบอุปกรณ์ของคุณผ่านทาง USB ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้เพื่อแก้ปัญหา
ตรวจสอบว่า Android Studio เชื่อมต่อกับโปรแกรมจำลอง Android
หากต้องการตรวจสอบว่าปัญหาเกิดจากปัญหาการเชื่อมต่อระหว่าง Android Studio กับโปรแกรมจำลอง Android หรือไม่ ให้ทำตามขั้นตอนต่อไปนี้
- เปิดเครื่องมือจัดการอุปกรณ์
- สร้าง AVD ใหม่หากยังไม่มี
- เรียกใช้โปรแกรมจำลองโดยใช้ AVD
- ทําตามข้อใดข้อหนึ่งต่อไปนี้
- หาก Android Studio เชื่อมต่อกับโปรแกรมจำลองไม่ได้ ให้ดาวน์โหลดเครื่องมือแพลตฟอร์ม SDK เวอร์ชันล่าสุดแล้วลองอีกครั้ง
- หากโปรแกรมจำลองเริ่มต้นขึ้นสําเร็จ ให้ตรวจสอบสาย USB ตามที่อธิบายไว้ในส่วนถัดไป
ตรวจสอบสาย USB
หากต้องการตรวจสอบว่าปัญหาเกิดจากสาย USB เสียหรือไม่ ให้ทำตามขั้นตอนในส่วนนี้
หากมีสาย USB อีกเส้น ให้ทำดังนี้
- เชื่อมต่ออุปกรณ์โดยใช้สายรอง
- ตรวจสอบว่าตอนนี้ตัวช่วยการเชื่อมต่อตรวจพบอุปกรณ์หรือไม่
- หากไม่พบอุปกรณ์ ให้ลองใช้สายหลักอีกครั้ง
- หากระบบยังคงไม่ตรวจพบอุปกรณ์ ให้ถือว่าปัญหาเกิดจากอุปกรณ์ และตรวจสอบว่าอุปกรณ์ได้รับการตั้งค่าสําหรับการพัฒนาหรือไม่ตามที่อธิบายไว้ในส่วนต่อไปนี้
หากไม่มีสาย USB เส้นอื่นแต่มีอุปกรณ์ Android เครื่องอื่น ให้ทำดังนี้
- เชื่อมต่ออุปกรณ์รองกับคอมพิวเตอร์
หากผู้ช่วยการเชื่อมต่อตรวจพบอุปกรณ์รอง ให้ถือว่าปัญหาเกิดจากอุปกรณ์หลัก และตรวจสอบว่าอุปกรณ์ได้รับการตั้งค่าสำหรับการพัฒนาหรือไม่
หากไม่พบอุปกรณ์เครื่องที่ 2 แสดงว่าปัญหาอาจเกิดจากสาย USB
ตรวจสอบว่าได้ตั้งค่าอุปกรณ์สำหรับการพัฒนาหรือไม่
หากต้องการตรวจสอบว่าปัญหาเกิดจากการตั้งค่าในอุปกรณ์หรือไม่ ให้ทําตามขั้นตอนต่อไปนี้
- ทำตามขั้นตอนในส่วนตั้งค่าอุปกรณ์สําหรับการพัฒนา
- หากวิธีนี้ยังแก้ปัญหาไม่ได้ โปรดติดต่อขอความช่วยเหลือจากทีมสนับสนุนลูกค้าของ OEM อุปกรณ์ แจ้งตัวแทนฝ่ายสนับสนุนลูกค้าว่าอุปกรณ์ไม่ได้เชื่อมต่อกับ Android Studio โดยใช้ ADB
แก้ปัญหาการเชื่อมต่อแบบไร้สาย
หากคุณพบปัญหาในการเชื่อมต่ออุปกรณ์แบบไร้สาย คุณสามารถลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้เพื่อแก้ไขปัญหา
ตรวจสอบว่าเวิร์กสเตชันและอุปกรณ์ของคุณมีคุณสมบัติตรงตามข้อกำหนดเบื้องต้นหรือไม่
โปรดตรวจสอบสิ่งต่อไปนี้เพื่อให้เป็นไปตามข้อกําหนดเบื้องต้นสำหรับการแก้ไขข้อบกพร่องแบบไร้สาย
- เวิร์กสเตชันและอุปกรณ์เชื่อมต่อกับเครือข่ายไร้สายเดียวกัน
- อุปกรณ์ของคุณใช้ Android 11 ขึ้นไป ดูข้อมูลเพิ่มเติมได้ที่ตรวจสอบและอัปเดตเวอร์ชัน Android
- คุณมี Android Studio เวอร์ชันล่าสุด คุณสามารถดาวน์โหลดได้จากหน้าหลักของ Android Studio
- คุณมี SDK Platform Tools เวอร์ชันล่าสุดในเวิร์กสเตชัน
ตรวจสอบปัญหาอื่นๆ ที่ทราบ
ต่อไปนี้เป็นรายการปัญหาที่ทราบในปัจจุบันเกี่ยวกับการแก้ไขข้อบกพร่องแบบไร้สายใน Android Studio และวิธีแก้ปัญหา
- Wi-Fi ไม่เชื่อมต่อ: เครือข่าย Wi-Fi บางเครือข่าย เช่น เครือข่าย Wi-Fi ขององค์กร อาจบล็อกการเชื่อมต่อ P2P และไม่อนุญาตให้คุณเชื่อมต่อผ่าน Wi-Fi ลองเชื่อมต่อด้วยสายหรือเครือข่าย Wi-Fi อื่น
- บางครั้ง ADB ผ่าน Wi-Fi จะปิดโดยอัตโนมัติ: ซึ่งเกิดขึ้นได้เมื่ออุปกรณ์เปลี่ยนเครือข่าย Wi-Fi หรือยกเลิกการเชื่อมต่อจากเครือข่าย
คีย์ความปลอดภัย RSA
เมื่อคุณเชื่อมต่ออุปกรณ์ที่ใช้ Android 4.2.2 (API ระดับ 17) ขึ้นไปกับคอมพิวเตอร์ ระบบจะแสดงกล่องโต้ตอบเพื่อถามว่าจะยอมรับคีย์ RSA ที่อนุญาตให้แก้ไขข้อบกพร่องผ่านคอมพิวเตอร์นี้หรือไม่ กลไกความปลอดภัยนี้จะปกป้องอุปกรณ์ของผู้ใช้เนื่องจากจะไม่สามารถดำเนินการแก้ไขข้อบกพร่องผ่าน USB และคำสั่ง adb
อื่นๆ ได้ เว้นแต่คุณจะปลดล็อกอุปกรณ์และยอมรับกล่องโต้ตอบ