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

Khi tạo ứng dụng Android, bạn phải luôn kiểm thử ứng dụng trên 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 có thể bắt đầu gỡ lỗi trên thiết bị, hãy quyết định xem bạn có muốn kết nối thiết bị qua cáp USB hoặc Wi-Fi hay không. Sau đó hãy làm như sau:

  1. Trên thiết bị, hãy mở phần Settings (Cài đặt), chọn Developer options (Tuỳ chọn cho nhà phát triển), sau đó bật tính năng USB debugging (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.

    • Chrome OS: Không cần cấu hình bổ sung.
    • macOS: Không cần cấu hình bổ sung.
    • Ubuntu Linux: Có hai thứ cần thiết lập đúng cách: người dùng muốn sử dụng adb phải ở trong nhóm plugdev và hệ thống cần phải cài đặt các quy tắc udev để bao gồm thiết bị.

      Nhóm plugdev: Nếu thấy thông báo lỗi cho biết bạn không thuộc nhóm plugdev, thì bạn cần tự thêm mình vào nhóm đó:

      sudo usermod -aG plugdev $LOGNAME
      

      Hãy lưu ý rằng các nhóm chỉ được cập nhật khi đăng nhập, vì vậy, bạn cần phải đăng xuất để 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 xem mình hiện đã thuộc nhóm plugdev hay chưa.

      Quy tắc udev: 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ì trên các thiết bị Android. Cách cài đặt:

      apt-get install android-sdk-platform-tools-common
      
    • 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 xem tài liệu về Cài đặt trình điều khiển USB của OEM.

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

Sau khi thiết lập và cắm USB, bạn có thể nhấp vào biểu tượng Run (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:

  • Hãy đảm bảo rằng thiết bị của bạn đã được kết nối bằng cách chạy lệnh adb devices qua thư mục android_sdk/platform-tools/. Nếu thiết bị đã kết nối, bạn sẽ thấy thiết bị xuất hiện trong danh sách.
  • Tạo mọi lệnh adb có cờ -d để xác định thiết bị của bạn.

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

Android 11 (và trở lên) hỗ trợ tính năng triển khai và gỡ lỗi ứng dụng không dây qua 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ới thiết bị qua USB hay gặp phải các vấn đề phổ biến về 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 nội dung Kiểm tra và cập nhật phiên bản Android.
  3. Đảm bảo bạn có Android Studio Bumblebee Canary. Bạn có thể tải xuống tại đây.
  4. Trên máy trạm, hãy cập nhật phiên bản mới nhất của SDK Platform-Tools (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 thả xuống về cấu hình chạy.
    Trình đơn thả xuống về cấu hình chạy
    Hình 1. Trình đơn thả xuống về cấu hình chạy.

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

    Để ghép nối với một thiết bị khác hoặc quên thiết bị này trên máy trạm, hãy chuyển đến phần Wireless debugging (Gỡ lỗi qua Wi-Fi) trên thiết bị, nhấn vào tên máy trạm trong phần Paired devices (Thiết bị đã ghép nối) rồi chọn Forget (Quê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ách 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 (Công cụ) > Troubleshoot Device Connections (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 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ợ lý kết nối bắt đầu bằng cách nhắc bạn kết nối thiết bị qua USB rồi đưa ra nút Rescan USB devices (Quét lại thiết bị USB), qua đó bạn có thể bắt đầu một lượt quét mới cho các thiết bị đã kết nối.
  • Enable USB debugging (Bật chế độ gỡ lỗi qua USB): Trợ lý kết nối sẽ cho bạn biết cách bật chế độ gỡ lỗi qua USB trong 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 vẫn không thấy thiết bị của mình trong danh sách thiết bị hiện có, bạn có thể 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 tiếp theo trên trang này.

Giải quyết vấn đề về 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, bạn có thể thử các bước khắc phục sự cố sau đây để giải quyết vấn đề này:

Kiểm tra để chắc chắn rằng Android Studio có thể 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ở AVD Manager (Trình quản lý thiết bị ảo Android).
  2. Tạo thiết bị ảo Android (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.

Kiểm tra cáp USB

Để kiểm tra xem vấn đề có phải do cáp USB bị lỗi 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 phụ.
  2. Kiểm tra xem Trợ lý kết nối đã 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ị và hãy kiểm tra xem thiết bị đã được thiết lập đúng cách cho hoạt động phát triển hay chưa.

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ị phụ với máy tính.
  2. Nếu Trợ lý kết nối phát hiện được thiết bị phụ, có khả năng đã có sự cố xảy ra với thiết bị chính và bạn hãy kiểm tra xem thiết bị chính đã được thiết lập đúng cách cho hoạt động phát triển hay chưa.

    Nếu không phát hiện được thiết bị phụ, 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 đúng cách cho hoạt động phát triển hay chưa

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

  1. Làm theo các bước trong nội dung 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 vấn đề, 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 không dây cho thiết bị, 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:

  1. Máy trạm và thiết bị của bạn kết nối với cùng một mạng không dây.
  2. 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. Bạn có Android Studio Bumblebee. Bạn có thể tải xuống tại đây.
  4. Bạn đã cài đặt phiên bản mới nhất của Công cụ nền tảng SDK trên máy trạm của mình.

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

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

  1. 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.
  2. 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ẽ đưa ra một hộp thoại hỏi xem liệu 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 là nhằm bảo vệ thiết bị của người dùng vì nó đảm bảo rằng không thể thực thi thao tác 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.