Chạy ứng dụng trên thiết bị phần cứng

Luôn kiểm thử ứng dụng Android trên một thiết bị thực trước khi phát hành cho người dùng. Trang này mô tả cách thiết lập môi trường phát triển và cách thiết lập thiết bị Android để kiểm thử và gỡ lỗi qua kết nối Cầu gỡ lỗi Android (ADB).

Thiết lập thiết bị cho hoạt động phát triển

Trước khi bạn có thể bắt đầu gỡ lỗi trên thiết bị, hãy quyết định xem bạn muốn kết nối với thiết bị qua cáp USB hay Wi-Fi. Sau đó, hãy làm như sau:

  1. Trên thiết bị, mở ứng dụng Cài đặt, chọn Tuỳ chọn cho nhà phát triển, sau đó bật tính năng Gỡ lỗi qua USB (nếu có).

  2. Thiết lập hệ thống để phát hiện thiết bị của bạn.

    • ChromeOS: Không cần cấu hình bổ sung.
    • macOS: Không cần cấu hình bổ sung.
    • Windows: Cài đặt trình điều khiển USB cho ADB (nếu có). Để xem hướng dẫn cài đặt và đường liên kết đến các trình điều khiển của nhà sản xuất thiết bị gốc (OEM), hãy tham khảo phần Cài đặt trình điều khiển USB của OEM.
    • Ubuntu Linux: Thiết lập như sau:

      • Mỗi người dùng muốn sử dụng ADB cần phải nằm trong nhóm plugdev. Nếu bạn thấy thông báo lỗi cho biết bạn không thuộc nhóm plugdev, hãy tự thêm chính mình vào nhóm đó bằng lệnh sau:
      sudo usermod -aG plugdev $LOGNAME
      

      Các nhóm chỉ cập nhật khi đăng nhập, vì vậy, bạn phải đăng xuất để sự thay đổi này có hiệu lực. Khi đăng nhập lại, bạn có thể sử dụng id để kiểm tra nhằm đảm bảo rằng mình thuộc nhóm plugdev.

      • Hệ thống cần phải cài đặt các quy tắc udev để bao gồm thiết bị. Gói android-sdk-platform-tools-common chứa một bộ quy tắc udev mặc định do cộng đồng duy trì cho các thiết bị Android. Để cài đặt gói này, hãy dùng lệnh sau:
      apt-get install android-sdk-platform-tools-common
      

Kết nối với thiết bị qua USB

Sau khi thiết lập và cắm USB, hãy nhấp vào biểu tượng Chạy trong Android Studio để tạo và chạy ứng dụng trên thiết bị.

Bạn cũng có thể sử dụng adb để tạo lệnh theo cách sau:

  • Xác minh rằng thiết bị của bạn đã được kết nối bằng cách chạy lệnh adb devices từ thư mục android_sdk/platform-tools/. Nếu thiết bị đã kết nối, bạn sẽ thấy thiết bị trong danh sách.
  • Tạo lệnh adb bất kỳ có cờ -d để nhắm mục tiêu thiết bị của bạn.

Kết nối với thiết bị qua Wi-Fi

Android 11 trở lên hỗ trợ tính năng triển khai và gỡ lỗi ứng dụng không dây từ máy trạm thông qua Cầu gỡ lỗi Android (ADB). Ví dụ: bạn có thể triển khai ứng dụng có thể gỡ lỗi cho nhiều thiết bị từ xa mà không cần kết nối vật lý với thiết bị qua USB hay gặp phải các vấn đề phổ biến khi kết nối USB (chẳng hạn như lỗi cài đặt trình điều khiển).

Để sử dụng tính năng gỡ lỗi qua Wi-Fi, bạn cần ghép nối thiết bị với máy trạm bằng mã ghép nối. Để bắt đầu, hãy hoàn thành các bước sau:

  1. Đảm bảo máy trạm và thiết bị của bạn được kết nối với cùng một mạng không dây.
  2. Đảm bảo thiết bị của bạn đang chạy Android 11 trở lên. Để biết thêm thông tin, hãy xem bài viết Kiểm tra và cập nhật phiên bản Android.
  3. Đảm bảo bạn đã cài đặt phiên bản Android Studio mới nhất. Tải xuống tại đây.
  4. Trên máy trạm, hãy cập nhật lên phiên bản mới nhất của Công cụ nền tảng SDK.

Để kết nối thiết bị của bạn, hãy làm theo các bước sau:

  1. Mở Android Studio rồi chọn Pair Devices Using Wi-Fi (Ghép nối thiết bị qua Wi-Fi) trong trình đơn cấu hình chạy.
    Trình đơn thả xuống cấu hình chạy
    Hình 1. Trình đơn cấu hình chạy.

    Hộp thoại Pair devices over Wi-Fi (Ghép nối thiết bị qua Wi-Fi) sẽ xuất hiện, như minh hoạ trong hình 2.
    Ảnh chụp màn hình cửa sổ bật lên cho tuỳ chọn ghép nối thiết bị qua Wi-Fi
    Hình 2. Hộp thoại để ghép nối thiết bị bằng mã QR hoặc mã ghép nối.
  2. Bật tuỳ chọn cho nhà phát triển trên thiết bị của bạn.
  3. Bật tính năng gỡ lỗi qua Wi-Fi trên thiết bị của bạn.
    Ảnh chụp màn hình một điện thoại Pixel hiển thị chế độ cài đặt hệ thống Wireless debugging (Gỡ lỗi qua Wi-Fi).
    Hình 3. Chế độ cài đặt Wireless debugging (Gỡ lỗi qua Wi-Fi) trên điện thoại Google Pixel.
  4. Nhấn vào Wireless debugging (Gỡ lỗi qua Wi-Fi) rồi ghép nối thiết bị:
    1. Để ghép nối thiết bị bằng mã QR, hãy chọn Pair device with QR code (Ghép nối thiết bị bằng mã QR) rồi quét mã QR, như minh hoạ trong hình 2.
    2. Để ghép nối thiết bị bằng mã ghép nối, hãy chọn Pair device with pairing code (Ghép nối thiết bị bằng mã ghép nối) trong hộp thoại Pair new devices over Wi-Fi (Ghép nối thiết bị mới qua Wi-Fi). Trên thiết bị, hãy chọn Pair using pairing code (Ghép nối bằng mã ghép nối). Mã gồm 6 chữ số sẽ xuất hiện. Sau khi thiết bị của bạn xuất hiện trong cửa sổ Pair devices over Wifi (Ghép nối thiết bị qua Wi-Fi), hãy nhập mã gồm 6 chữ số hiện trên thiết bị rồi chọn Pair (Ghép nối).
      Ảnh chụp màn hình minh hoạ việc nhập mã ghép nối
      Hình 4. Ví dụ minh hoạ việc nhập mã ghép nối có 6 chữ số.
  5. Sau khi ghép nối, bạn có thể thử triển khai ứng dụng cho thiết bị của mình.

Để ghép nối với một thiết bị khác hoặc xoá thiết bị này trên máy trạm, hãy làm như sau:

  1. Chuyển đến phần Gỡ lỗi qua Wi-Fi trên thiết bị của bạn.
  2. Nhấn vào tên máy trạm trong phần Thiết bị đã ghép nối.
  3. Chọn Xoá.

Phản chiếu thiết bị

Bạn có thể phản chiếu thiết bị thực trong cửa sổ Running Devices (Thiết bị đang chạy) trong Android Studio. Bằng cách truyền trực tuyến màn hình của thiết bị thẳng tới Android Studio, bạn có thể dùng chính IDE Studio để thực hiện các thao tác phổ biến như khởi động ứng dụng và tương tác với ứng dụng, xoay màn hình, gập và mở điện thoại, thay đổi âm lượng.

Bạn luôn dùng được tính năng phản chiếu thiết bị khi có các thiết bị được kết nối với máy tính đã bật tính năng gỡ lỗi qua Wi-Fi hoặc USB. Bạn có thể bắt đầu và dừng tính năng phản chiếu thiết bị bằng cách sử dụng cửa sổ Running Devices (Thiết bị đang chạy) hoặc Device Manager (Trình quản lý thiết bị) (View > Tool Windows > Device Manager (Xem > Cửa sổ công cụ > Trình quản lý thiết bị)). Bạn cũng có thể tuỳ chỉnh thời điểm kích hoạt tính năng phản chiếu thiết bị trong phần cài đặt (Settings > Tools > Device Mirroring (Cài đặt > Công cụ > Phản chiếu thiết bị)).

Giao diện người dùng của thiết bị đang chạy

Vấn đề đã biết

Một số thiết bị có thể không mã hoá được ở tốc độ bit đủ để hỗ trợ tính năng phản chiếu thiết bị. Trong những trường hợp này, bạn có thể thấy lỗi tương tự như sau trong cửa sổ Running Devices (Thiết bị đang chạy) cũng như các nhật ký.

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

Thông báo về quyền riêng tư

Tuỳ vào chế độ cài đặt tính năng phản chiếu thiết bị, Android Studio có thể tự động bắt đầu tính năng phản chiếu thiết bị đối với mọi thiết bị đã kết nối và ghép nối. Điều này có thể dẫn đến việc tiết lộ thông tin cho các thiết bị được kết nối bằng lệnh adb tcpip vì thông tin và lệnh phản chiếu được truyền qua một kênh không được mã hoá. Ngoài ra, Android Studio sử dụng một kênh không mã hoá để giao tiếp với máy chủ adb. Do đó, những người dùng khác có thể chặn thông tin phản chiếu trên máy chủ của bạn.

Khắc phục sự cố kết nối của thiết bị

Nếu thiết bị của bạn không kết nối được với Android Studio, hãy thử làm theo các bước sau đây để khắc phục sự cố:

Khắc phục sự cố bằng Trợ lý kết nối

Trợ lý kết nối đưa ra hướng dẫn từng bước để giúp bạn thiết lập và sử dụng thiết bị qua kết nối ADB.

Để khởi động trợ lý này, hãy chọn Tools > Troubleshoot Device Connections (Công cụ > Khắc phục sự cố kết nối của thiết bị).

Trợ lý kết nối đưa ra hướng dẫn, chế độ điều khiển theo ngữ cảnh và danh sách thiết bị đã kết nối trong một loạt trang trên bảng Assistant (Trợ lý). Sử dụng nút Next (Tiếp theo) và Previous (Trước) ở cuối bảng điều khiển Assistant (Trợ lý) để di chuyển qua các trang nếu cần:

  • Connect your device over USB (Kết nối thiết bị qua USB): Trước tiên, Trợ lý kết nối sẽ nhắc bạn kết nối thiết bị qua USB rồi cung cấp nút Rescan USB devices (Quét lại thiết bị USB) để bạn có thể bắt đầu lượt quét mới cho thiết bị được kết nối.
  • Enable USB debugging (Bật chế độ gỡ lỗi qua USB): Trợ lý kết nối sẽ chỉ cho bạn cách bật chế độ gỡ lỗi qua USB bằng các tuỳ chọn cho nhà phát triển trên thiết bị.
  • Restart the ADB server (Khởi động lại máy chủ ADB): Cuối cùng, nếu bạn vẫn không thấy thiết bị của mình trong danh sách thiết bị hiện có, hãy sử dụng nút Restart ADB server (Khởi động lại máy chủ ADB) trên trang cuối cùng của Trợ lý kết nối. Quá trình khởi động lại máy chủ ADB cũng khiến ADB quét lại các thiết bị. Nếu bạn vẫn không thấy thiết bị của mình trong danh sách thiết bị hiện có, hãy thử các bước khắc phục sự cố trong phần sau.

Khắc phục sự cố kết nối USB

Nếu Trợ lý kết nối không phát hiện được thiết bị của bạn qua USB, hãy thử các bước khắc phục sự cố sau đây để giải quyết vấn đề này:

Kiểm tra để đảm bảo rằng Android Studio kết nối với Trình mô phỏng Android

Để kiểm tra xem vấn đề có phải là do sự cố kết nối giữa Android Studio và Trình mô phỏng Android hay không, hãy làm theo các bước sau:

  1. Mở Device Manager (Trình quản lý thiết bị).
  2. Tạo một AVD mới nếu bạn chưa có.
  3. Chạy trình mô phỏng bằng AVD.
  4. Thực hiện một trong các thao tác sau:
    • Nếu Android Studio không kết nối được với trình mô phỏng, hãy tải Công cụ nền tảng SDK mới nhất xuống, sau đó thử lại.
    • Nếu trình mô phỏng khởi động thành công, hãy kiểm tra cáp USB như mô tả trong phần sau.

Kiểm tra cáp USB

Để kiểm tra xem vấn đề có phải do cáp USB bị lỗi gây ra hay không, hãy làm theo các bước trong phần này.

Nếu bạn có cáp USB khác:

  1. Kết nối thiết bị bằng cáp thứ hai này.
  2. Kiểm tra xem Trợ lý kết nối hiện có thể phát hiện được thiết bị hay chưa.
  3. Nếu không phát hiện được thiết bị, hãy thử lại cáp chính.
  4. Nếu vẫn không phát hiện được thiết bị, có thể đã xảy ra sự cố với thiết bị. Khi đó, hãy kiểm tra xem thiết bị đã được thiết lập cho hoạt động phát triển hay chưa, như mô tả trong phần sau.

Nếu bạn không có cáp USB khác nhưng lại có một thiết bị Android khác, hãy làm như sau:

  1. Kết nối thiết bị thứ hai này với máy tính.
  2. Nếu Trợ lý kết nối phát hiện được thiết bị thứ hai này, có khả năng đã xảy ra sự cố với thiết bị chính và bạn cần kiểm tra xem thiết bị chính đã được thiết lập cho hoạt động phát triển hay chưa.

    Nếu không phát hiện được thiết bị thứ hai này, thì có thể đã xảy ra vấn đề với cáp USB.

Kiểm tra xem thiết bị đã được thiết lập cho hoạt động phát triển hay chưa

Để kiểm tra xem liệu vấn đề có phát sinh từ chế độ cài đặt trên thiết bị hay không, hãy làm theo các bước sau:

  1. Làm theo các bước trong phần Thiết lập thiết bị cho hoạt động phát triển.
  2. Nếu cách này không giải quyết được sự cố, hãy liên hệ với bộ phận hỗ trợ khách hàng của nhà sản xuất thiết bị gốc (OEM) để được trợ giúp. Thông báo với người đại diện hỗ trợ khách hàng rằng thiết bị không kết nối được với Android Studio qua ADB.

Khắc phục các sự cố kết nối không dây

Nếu gặp sự cố khi kết nối thiết bị qua Wi-Fi, thì bạn có thể thử các bước sau đây để khắc phục sự cố:

Kiểm tra xem máy trạm và thiết bị của bạn có đáp ứng các điều kiện tiên quyết không

Để đáp ứng các điều kiện tiên quyết khi gỡ lỗi qua Wi-Fi, hãy đảm bảo rằng:

Kiểm tra xem có các sự cố đã biết khác không

Sau đây là danh sách các sự cố hiện đã biết khi gỡ lỗi qua Wi-Fi trong Android Studio và cách khắc phục:

  • Wi-Fi không kết nối: Một số mạng Wi-Fi, chẳng hạn như mạng Wi-Fi công ty, có thể chặn kết nối ngang hàng (p2p) và không cho phép bạn kết nối qua Wi-Fi. Hãy thử kết nối bằng cáp hoặc mạng Wi-Fi khác.
  • ADB qua Wi-Fi đôi khi tự động tắt: Tình trạng này có thể xảy ra nếu thiết bị thay đổi hoặc ngắt kết nối với mạng Wi-Fi.

Khoá bảo mật RSA

Khi bạn kết nối máy tính với một thiết bị chạy Android 4.2.2 (API cấp 17) trở lên, hệ thống sẽ hiển thị hộp thoại hỏi xem bạn có chấp nhận khoá RSA để cho phép gỡ lỗi thông qua máy tính này hay không. Cơ chế bảo mật này bảo vệ thiết bị của người dùng vì sẽ không thể thực thi lệnh gỡ lỗi qua USB và các lệnh adb khác trừ phi bạn có thể mở khoá thiết bị và xác nhận hộp thoại.