เรียกใช้แอปในอุปกรณ์ฮาร์ดแวร์

ทดสอบแอป Android ในอุปกรณ์จริงทุกครั้งก่อนเผยแพร่ให้ผู้ใช้ หน้านี้อธิบายวิธีตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์และอุปกรณ์ Android สำหรับการทดสอบและการแก้ไขข้อบกพร่องผ่านการเชื่อมต่อ Android Debug Bridge (ADB)

ตั้งค่าอุปกรณ์สำหรับการพัฒนา

ก่อนจะเริ่มแก้ไขข้อบกพร่องในอุปกรณ์ได้ ให้ตัดสินใจว่าจะเชื่อมต่อกับอุปกรณ์โดยใช้สาย USB หรือ Wi-Fi จากนั้นทำดังนี้

  1. เปิดแอปการตั้งค่า ในอุปกรณ์ เลือกตัวเลือกสำหรับนักพัฒนาแอป แล้ว เปิดใช้การแก้ไขข้อบกพร่อง USB (หากมี)

  2. ตั้งค่าระบบให้ตรวจหาอุปกรณ์

    • ChromeOS: ไม่จำเป็นต้องมีการกำหนดค่าเพิ่มเติม
    • macOS: ไม่จำเป็นต้องมีการกำหนดค่าเพิ่มเติม
    • Windows: ติดตั้งไดรเวอร์ USB สำหรับ ADB (หากมี) ดูคู่มือการติดตั้งและลิงก์ไปยังไดรเวอร์ OEM ได้ที่หัวข้อติดตั้งไดรเวอร์ OEM USB drivers
    • Ubuntu Linux: ตั้งค่าดังนี้

      • ผู้ใช้แต่ละคนที่ต้องการใช้ ADB ต้องอยู่ในกลุ่ม plugdev หากเห็นข้อความแสดงข้อผิดพลาดว่าคุณไม่ได้อยู่ในกลุ่ม plugdev ให้เพิ่มตัวเองลงในกลุ่มโดยใช้คำสั่งต่อไปนี้
      sudo usermod -aG plugdev $LOGNAME
      

      กลุ่มจะอัปเดตเมื่อเข้าสู่ระบบเท่านั้น ดังนั้นคุณต้องออกจากระบบเพื่อให้การเปลี่ยนแปลงนี้มีผล เมื่อเข้าสู่ระบบอีกครั้ง คุณจะใช้ id เพื่อตรวจสอบว่าคุณอยู่ในกลุ่ม plugdev หรือไม่

      • ระบบต้องติดตั้งกฎ udev ที่ครอบคลุมอุปกรณ์ แพ็กเกจ android-sdk-platform-tools-common มีชุดกฎ udev เริ่มต้นที่ชุมชนดูแลสำหรับอุปกรณ์ Android หากต้องการติดตั้ง ให้ใช้คำสั่งต่อไปนี้
      apt-get install android-sdk-platform-tools-common
      

เชื่อมต่อกับอุปกรณ์โดยใช้ USB

เมื่อตั้งค่าและเสียบปลั๊กผ่าน USB แล้ว ให้คลิกเรียกใช้ ใน Android Studio เพื่อ สร้างและเรียกใช้แอปในอุปกรณ์

นอกจากนี้ คุณยังใช้ adb เพื่อออกคำสั่งได้ดังนี้

  • ตรวจสอบว่าอุปกรณ์เชื่อมต่ออยู่โดยเรียกใช้คำสั่ง adb devices จากไดเรกทอรี android_sdk/platform-tools/ หากเชื่อมต่อแล้ว คุณจะเห็นอุปกรณ์ปรากฏอยู่ในรายการ
  • ออกคำสั่ง adb ใดก็ได้ โดยใช้ แฟล็ก -d เพื่อกำหนดเป้าหมายเป็นอุปกรณ์

เชื่อมต่อกับอุปกรณ์โดยใช้ Wi-Fi

Android 11 ขึ้นไปรองรับการติดตั้งและแก้ไขข้อบกพร่องแอปแบบไร้สายจากเวิร์กสเตชันผ่าน Android Debug Bridge (ADB) เช่น คุณสามารถติดตั้งแอปที่แก้ไขข้อบกพร่องได้ในอุปกรณ์ระยะไกลหลายเครื่องโดยไม่ต้องเชื่อมต่ออุปกรณ์ผ่าน USB และไม่ต้องกังวลกับปัญหาการเชื่อมต่อ USB ทั่วไป เช่น การติดตั้งไดรเวอร์

หากต้องการใช้การแก้ไขข้อบกพร่องผ่าน Wi-Fi คุณต้องจับคู่อุปกรณ์กับเวิร์กสเตชันโดยใช้รหัสการจับคู่ หากต้องการเริ่มต้น ให้ทำตามขั้นตอนต่อไปนี้

  1. ตรวจสอบว่าเวิร์กสเตชันและอุปกรณ์เชื่อมต่อกับเครือข่ายไร้สายเดียวกัน
  2. ตรวจสอบว่าอุปกรณ์ใช้ Android 11 ขึ้นไป ดูข้อมูลเพิ่มเติมได้ที่หัวข้อ ตรวจสอบและอัปเดตเวอร์ชัน Android
  3. ตรวจสอบว่าคุณได้ติดตั้ง Android Studio เวอร์ชันล่าสุดแล้ว ดาวน์โหลดได้ที่นี่
  4. อัปเดต SDK Platform Tools เป็นเวอร์ชันล่าสุดในเวิร์กสเตชัน

หากต้องการเชื่อมต่อกับอุปกรณ์ ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิด Android Studio แล้วเลือกจับคู่อุปกรณ์โดยใช้ Wi-Fi จากเมนูการกำหนดค่าการเรียกใช้
    เมนูแบบเลื่อนลงของการกำหนดค่าการเรียกใช้
    รูปที่ 1 เมนูการกำหนดค่าการเรียกใช้

    กล่องโต้ตอบจับคู่อุปกรณ์ผ่าน Wi-Fi จะปรากฏขึ้นดังที่แสดงในรูปที่ 2
    ภาพหน้าจอของหน้าต่างป๊อปอัปจับคู่อุปกรณ์ผ่าน Wi-Fi
    รูปที่ 2 กล่องโต้ตอบเพื่อจับคู่ อุปกรณ์โดยใช้คิวอาร์โค้ดหรือรหัสการจับคู่
  2. เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป ในอุปกรณ์
  3. เปิดใช้ การแก้ไขข้อบกพร่องผ่าน Wi-Fi ในอุปกรณ์
    ภาพหน้าจอของโทรศัพท์ Pixel ที่แสดงการตั้งค่าระบบการแก้ไขข้อบกพร่องผ่าน Wi-Fi
    รูปที่ 3 การตั้งค่า การแก้ไขข้อบกพร่องผ่าน Wi-Fi ในโทรศัพท์ Google Pixel
  4. แตะการแก้ไขข้อบกพร่องผ่าน Wi-Fi แล้วจับคู่อุปกรณ์โดยทำดังนี้
    1. หากต้องการจับคู่อุปกรณ์ด้วยคิวอาร์โค้ด ให้เลือกจับคู่อุปกรณ์ด้วยคิวอาร์โค้ด แล้วสแกนคิวอาร์โค้ดที่แสดงในรูปที่ 2
    2. หากต้องการจับคู่อุปกรณ์ด้วยรหัสการจับคู่ ให้เลือกจับคู่อุปกรณ์ด้วยรหัสการจับคู่ จากกล่องโต้ตอบจับคู่อุปกรณ์ใหม่ผ่าน Wi-Fi ในอุปกรณ์ ให้เลือกจับคู่โดยใช้รหัสการจับคู่ รหัส 6 หลัก จะปรากฏขึ้น เมื่ออุปกรณ์ปรากฏในหน้าต่างจับคู่อุปกรณ์ผ่าน Wi-Fi ให้ป้อนรหัส 6 หลักที่แสดงในอุปกรณ์ แล้วเลือกจับคู่
      ภาพหน้าจอของตัวอย่างการป้อนรหัสการจับคู่
      รูปที่ 4 ตัวอย่างการป้อนรหัสการจับคู่ 6 หลัก
  5. หลังจากจับคู่แล้ว คุณสามารถลองติดตั้งแอปในอุปกรณ์

หากต้องการจับคู่อุปกรณ์อื่นหรือลืมอุปกรณ์นี้ในเวิร์กสเตชัน ให้ทำดังนี้

  1. ไปที่การแก้ไขข้อบกพร่องผ่าน Wi-Fi ในอุปกรณ์
  2. แตะชื่อเวิร์กสเตชันในส่วนอุปกรณ์ที่จับคู่
  3. เลือกลืม

การมิเรอร์อุปกรณ์

คุณสามารถมิเรอร์อุปกรณ์จริงในหน้าต่าง Running Devices ใน Android Studio ได้ การสตรีมจอแสดงผลของอุปกรณ์ไปยัง Android Studio โดยตรงช่วยให้คุณใช้ Studio IDE เองเพื่อดำเนินการทั่วไป เช่น การเริ่มแอปและการโต้ตอบกับแอป การหมุนหน้าจอ การพับและกางโทรศัพท์ รวมถึงการเปลี่ยนระดับเสียง

การมิเรอร์อุปกรณ์พร้อมใช้งานเสมอเมื่อมีอุปกรณ์ที่เชื่อมต่อกับคอมพิวเตอร์ซึ่งเปิดใช้การแก้ไขข้อบกพร่อง USB หรือการแก้ไขข้อบกพร่องผ่าน Wi-Fi คุณสามารถเริ่มและหยุดการมิเรอร์ได้โดยใช้หน้าต่าง Running Devices หรือ โปรแกรมจัดการอุปกรณ์ (View > Tool Windows > โปรแกรมจัดการอุปกรณ์) นอกจากนี้ คุณยังปรับแต่งเวลาที่จะเปิดใช้งานการมิเรอร์อุปกรณ์ได้ในการตั้งค่า (Settings > Tools > Device Mirroring)

UI ของอุปกรณ์ที่ทำงานอยู่

เปลี่ยนเส้นทางเสียง

เมื่อใช้การมิเรอร์อุปกรณ์ คุณสามารถเปลี่ยนเส้นทางเสียงจากอุปกรณ์จริงที่เชื่อมต่อไปยังลำโพงหรือหูฟังของคอมพิวเตอร์ได้ การเปลี่ยนเส้นทางเสียงช่วยให้คุณเสียบหูฟังไว้กับคอมพิวเตอร์และฟังทั้งเสียงจากคอมพิวเตอร์และโทรศัพท์ที่เชื่อมต่อได้โดยไม่ต้องเชื่อมต่อกับอุปกรณ์เครื่องหนึ่งแล้วจึงเชื่อมต่อกับอีกเครื่องด้วยตนเอง หากต้องการเปิดใช้การเปลี่ยนเส้นทางเสียง ให้ไปที่ไฟล์ (Android Studio ใน macOS) > การตั้งค่า > เครื่องมือ > การมิเรอร์อุปกรณ์ แล้วเลือกเปลี่ยนเส้นทางเสียงจากอุปกรณ์ในเครื่อง โปรดทราบว่าระบบจะเปลี่ยนเส้นทางเสียงเสมอ ไม่ว่าการตั้งค่าจะเป็นอย่างไรก็ตาม สำหรับอุปกรณ์ Firebase Test Lab ที่ใช้ Android 12 ขึ้นไป

ปัญหาที่ทราบแล้ว

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

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 ให้ลองทำตามขั้นตอนต่อไปนี้เพื่อแก้ปัญหา

แก้ปัญหาด้วย Connection Assistant

Connection Assistant มีวิธีการแบบทีละขั้นตอนเพื่อช่วยคุณตั้งค่าและใช้อุปกรณ์ผ่านการเชื่อมต่อ ADB

หากต้องการเริ่มผู้ช่วย ให้เลือกเครื่องมือ > แก้ปัญหาการเชื่อมต่ออุปกรณ์

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

  • เชื่อมต่ออุปกรณ์ผ่าน USB: Connection Assistant จะแจ้งให้คุณเชื่อมต่ออุปกรณ์ผ่าน USB ก่อน และแสดงปุ่มสแกนอุปกรณ์ USB อีกครั้ง ซึ่งคุณสามารถเริ่มการสแกนอุปกรณ์ที่เชื่อมต่อใหม่ได้
  • เปิดใช้การแก้ไขข้อบกพร่อง USB: จากนั้น Connection Assistant จะบอกวิธี เปิดใช้การแก้ไขข้อบกพร่อง USB ในตัวเลือกสำหรับนักพัฒนาแอปในอุปกรณ์
  • รีสตาร์ทเซิร์ฟเวอร์ ADB: หากยังไม่เห็นอุปกรณ์ใน รายการอุปกรณ์ที่พร้อมใช้งาน ให้ใช้ปุ่มรีสตาร์ทเซิร์ฟเวอร์ ADB ใน หน้าสุดท้ายของ Connection Assistant การรีสตาร์ทเซิร์ฟเวอร์ ADB จะทำให้ ADB สแกนหาอุปกรณ์อีกครั้งด้วย หากยังไม่เห็นอุปกรณ์ในรายการอุปกรณ์ที่พร้อมใช้งาน ให้ลองทำตามขั้นตอนการแก้ปัญหาในส่วนถัดไป

แก้ปัญหาการเชื่อมต่อ USB

หาก Connection Assistant ตรวจไม่พบอุปกรณ์ผ่าน USB ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้เพื่อแก้ปัญหา

ตรวจสอบว่า Android Studio เชื่อมต่อกับโปรแกรมจำลองของ Android ได้

หากต้องการตรวจสอบว่าปัญหาเกิดจากปัญหาการเชื่อมต่อระหว่าง Android Studio กับ โปรแกรมจำลองของ Android หรือไม่ ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิด โปรแกรมจัดการอุปกรณ์
  2. สร้าง AVD ใหม่ หากยังไม่มี
  3. เรียกใช้ Emulator โดยใช้ AVD
  4. ทำอย่างใดอย่างหนึ่งต่อไปนี้
    • หาก Android Studio เชื่อมต่อกับ Emulator ไม่ได้ ให้ดาวน์โหลด SDK Platform Tools เวอร์ชันล่าสุด แล้วลองอีกครั้ง
    • หาก Emulator เริ่มทำงานได้สำเร็จ ให้ตรวจสอบสาย USB ตามที่อธิบายไว้ในส่วนถัดไป

ตรวจสอบสาย USB

หากต้องการตรวจสอบว่าปัญหาเกิดจากสาย USB ที่ชำรุดหรือไม่ ให้ทำตามขั้นตอนในส่วนนี้

หากคุณมีสาย USB อีกเส้น ให้ทำดังนี้

  1. เชื่อมต่ออุปกรณ์โดยใช้สายสำรอง
  2. ตรวจสอบว่าตอนนี้ Connection Assistant ตรวจพบอุปกรณ์แล้วหรือไม่
  3. หากตรวจไม่พบอุปกรณ์ ให้ลองใช้สายหลักอีกครั้ง
  4. หากยังตรวจไม่พบอุปกรณ์ ให้สันนิษฐานว่าปัญหาเกิดจาก อุปกรณ์ และ ตรวจสอบว่าอุปกรณ์ตั้งค่าสำหรับการพัฒนา ตามที่อธิบายไว้ในส่วนถัดไปหรือไม่

หากไม่มีสาย USB อีกเส้น แต่มีอุปกรณ์ Android อีกเครื่อง ให้ทำดังนี้

  1. เชื่อมต่ออุปกรณ์สำรองกับคอมพิวเตอร์
  2. หาก Connection Assistant ตรวจพบอุปกรณ์สำรอง ให้สันนิษฐานว่าปัญหาเกิดจากอุปกรณ์หลัก และตรวจสอบว่าอุปกรณ์ตั้งค่าสำหรับการพัฒนาแล้วหรือไม่

    หากตรวจไม่พบอุปกรณ์สำรอง ปัญหาอาจเกิดจากสาย USB

ตรวจสอบว่าอุปกรณ์ตั้งค่าสำหรับการพัฒนาแล้วหรือไม่

หากต้องการตรวจสอบว่าปัญหาเกิดจากการตั้งค่าในอุปกรณ์หรือไม่ ให้ทำตามขั้นตอนต่อไปนี้

  1. ทำตามขั้นตอนในส่วนตั้งค่าอุปกรณ์สำหรับการพัฒนา
  2. หากวิธีนี้ไม่ช่วยแก้ปัญหา โปรดติดต่อฝ่ายสนับสนุนลูกค้าของ OEM อุปกรณ์เพื่อขอความช่วยเหลือ แจ้งตัวแทนฝ่ายสนับสนุนลูกค้าว่าอุปกรณ์ไม่เชื่อมต่อกับ Android Studio โดยใช้ ADB

แก้ปัญหาการเชื่อมต่อแบบไร้สาย

หากพบปัญหาในการเชื่อมต่อกับอุปกรณ์แบบไร้สาย คุณสามารถลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้เพื่อแก้ปัญหา

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

หากต้องการมีคุณสมบัติตรงตามข้อกำหนดเบื้องต้นสำหรับการแก้ไขข้อบกพร่องผ่าน Wi-Fi ให้ตรวจสอบสิ่งต่อไปนี้

ตรวจสอบปัญหาอื่นๆ ที่ทราบ

ต่อไปนี้เป็นรายการปัญหาที่ทราบแล้วในปัจจุบันเกี่ยวกับการแก้ไขข้อบกพร่องผ่าน Wi-Fi ใน 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 อื่นๆ ไม่ได้ เว้นแต่จะปลดล็อกอุปกรณ์และยอมรับกล่องโต้ตอบ