ADB qua Wi-Fi và Ethernet

Nhà phát triển Android cần kiểm thử ứng dụng của họ trên thiết bị thực. Cầu gỡ lỗi Android (ADB) là công cụ được chọn để truyền ứng dụng và gỡ lỗi. Có 3 cách chính để sử dụng ADB:

  1. ADB qua USB
  2. ADB qua Wi-Fi
  3. ADB qua Ethernet

Đối với hầu hết điện thoại và máy tính bảng, bạn có thể kết nối thiết bị Android với máy phát triển bằng cáp USB-C và ADB sẽ "chỉ hoạt động". Kể từ tháng 8 năm 2023, hầu hết Chromebook đều không hỗ trợ ADB qua USB, chỉ còn lại 2 phương thức khác: Wi-Fi và Ethernet.

Lưu ý: Bạn cũng có thể dùng ADB qua Bluetooth cho các thiết bị WearOS

ADB qua Wi-Fi

Nếu thiết bị của bạn đang chạy Android 11 (API 30) trở lên, bạn có thể sử dụng chức năng Ghép nối thiết bị bằng Wi-Fi đi kèm với Android Studio.

Đối với các thiết bị chạy Android 10 trở xuống hoặc nếu gặp vấn đề khi ghép nối qua Android Studio, bạn có thể kết nối theo cách thủ công bằng thiết bị IP và thiết bị đầu cuối.

  1. Đảm bảo rằng máy phát triển và thiết bị Android của bạn đang sử dụng cùng một mạng không dây.
  2. Đảm bảo rằng mạng của bạn cho phép lưu lượng truy cập trên cổng 5555 (hoặc một cổng khác được chọn theo cách thủ công). Một số mạng doanh nghiệp và mạng gia đình có tường lửa sẽ ngăn ADB hoạt động. Bạn cũng có thể dùng điện thoại di động làm trung tâm mạng không dây để cung cấp mạng cho phép lưu lượng truy cập cổng 5555, mặc dù việc này có thể dẫn đến lưu lượng truy cập mạng lớn và tiêu hao pin cho điện thoại.
  3. Đối với điện thoại và máy tính bảng không phải ChromeOS, bạn cần bật chế độ TCP/IP. Để làm như vậy, hãy kết nối thiết bị Android với máy phát triển qua USB và chạy lệnh adb tcpip 5555 trên máy phát triển. Thao tác này sẽ đặt thiết bị ở chế độ TCP/IP, lắng nghe trên cổng 5555. Sau khi bật, bạn có thể rút cáp USB.
  4. Xác định địa chỉ IP của thiết bị. Địa chỉ IPv4 là loại địa chỉ phổ biến nhất và có dạng như sau: 192.168.1.4. Địa chỉ IPv6 ngày càng phổ biến và có dạng như sau: 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b. Nếu thiết bị của bạn liệt kê cả hai, hãy sử dụng địa chỉ IPv4.
    1. Trên điện thoại/máy tính bảng, hãy chuyển đến phần cài đặt, thông tin của Android rồi di chuyển xuống cho đến khi bạn thấy địa chỉ IP của mình.
    2. Trên ChromeOS, hãy nhấp vào đồng hồ ở dưới cùng bên phải, nhấp vào trình đơn thả xuống bên dưới biểu tượng mạng, rồi nhấp vào mạng mà bạn hiện đang kết nối. Trong phần Mạng, bạn sẽ thấy địa chỉ IP được chỉ định cho Chromebook.
  5. Trên máy phát triển, hãy nhập adb connect IP_ADDRESS_FROM_STEP4, ví dụ: adb connect 192.168.1.4. Bạn cũng có thể chỉ định cổng theo cách thủ công, chẳng hạn như adb connect 192.168.1.4:5555.
  6. Sử dụng ADB hoặc Android Studio như bình thường. Bạn có thể xác minh kết nối bằng cách chạy adb devices.

Lưu ý: Để biết thêm thông tin, hãy xem phần Kết nối với một thiết bị qua Wi-Fi.

ADB qua Ethernet

Trong một số trường hợp, bạn có thể không sử dụng được mạng Wi-Fi do các quy định hạn chế của tường lửa hoặc đơn giản là bạn muốn dùng giải pháp có dây. Trong những trường hợp này, bạn có thể kết nối bằng cáp Ethernet. Các bước này tương tự như ADB qua Wi-Fi nhưng sử dụng cáp Ethernet.

Điều kiện tiên quyết

Trước khi bắt đầu, bạn cần đảm bảo rằng thiết bị của mình hỗ trợ kết nối Ethernet:

  • Cáp Ethernet: Cáp vật lý để kết nối giữa các thiết bị. Các loại Ethernet Cat 5/5e/6/6a đều ổn.
  • Cổng Ethernet: Cổng Ethernet cho cả thiết bị thử nghiệm và máy phát triển.

Lưu ý: Nếu thiết bị của bạn không có cổng Ethernet, bạn có thể dùng một đầu nối Ethernet kết nối với thiết bị qua USB và cung cấp khả năng Ethernet.

Một thiết bị phần cứng Ethernet USB-A.

Một bộ thiết lập ADB qua Ethernet hoàn chỉnh, bao gồm thiết bị phần cứng Ethernet USB-A, cáp Ethernet CAT6, thiết bị phần cứng Ethernet USB-A và bộ chuyển đổi USB-A sang USB-C.

Kết nối ADB qua Ethernet

Sau khi kết nối các thiết bị bằng cáp Ethernet, bạn có thể bật ADB qua kết nối này.

Lưu ý: Hướng dẫn này giả định rằng mạng cục bộ của bạn đang chạy trên không gian địa chỉ 192.168.1.x.

Cảnh báo: Đối với điện thoại và máy tính bảng không phải ChromeOS, bạn có thể cần bật chế độ TCP/IP. Để làm như vậy, hãy kết nối thiết bị Android với máy phát triển qua USB và chạy lệnh adb tcpip 5555 trên máy phát triển. Thao tác này sẽ đặt thiết bị ở chế độ TCP/IP, lắng nghe trên cổng 5555. Sau khi bật, bạn có thể rút cáp USB.

  1. Trên máy phát triển, hãy ghi lại địa chỉ IP được chỉ định cho bộ chuyển đổi Ethernet. Nếu không có địa chỉ nào được chỉ định, bạn có thể cần đặt địa chỉ này theo cách thủ công, có thể là một địa chỉ trong dải 192.168.1.x như 192.168.1.3 hoặc định cấu hình bộ chuyển đổi để chỉ kết nối với mạng cục bộ và không sử dụng DHCP:
    1. Đối với Windows, hãy xem phần Thay đổi chế độ cài đặt TCP/IP, mục "Cách chỉ định chế độ cài đặt IPv4 theo cách thủ công". Đặt địa chỉ IP thành 192.168.1.3.
    2. Đối với máy Mac, hãy xem bài viết Sử dụng DHCP hoặc địa chỉ IP thủ công trên máy Mac rồi làm theo hướng dẫn về địa chỉ IP thủ công. Đặt địa chỉ IP thành 192.168.1.3.
    3. Đối với Linux, hãy dùng công cụ đồ hoạ của bản phân phối để đặt địa chỉ IP theo cách thủ công hoặc đặt địa chỉ IP từ thiết bị đầu cuối như sau: chạy ifconfig để tìm mã nhận dạng của bộ chuyển đổi, sau đó dùng mã nhận dạng đó thay cho enx00eXXXXXXXXX khi chạy sudo ifconfig enx00eXXXXXXXXX 192.168.1.3 broadcast 192.168.255.255 netmask 255.255.0.0. Thao tác này sẽ thay đổi địa chỉ IP thành 192.168.1.3.
  2. Trên Chromebook mà bạn sẽ gỡ lỗi, hãy đặt địa chỉ Ethernet trong cùng dải mạng với máy phát triển của bạn:
    1. Nhấn tổ hợp phím ctrl+alt+t để mở crosh, trình bao ChromeOS.
    2. Nhập shell rồi nhấn Enter.
    3. Loại ssh root@localhost
    4. Nhập yes để chấp nhận dấu vân tay SSH (Giao thức Secure Shell) nếu được yêu cầu
    5. Mật khẩu mặc định là test0000
    6. Nhập ifconfig eth0 192.168.1.2. Thao tác này sẽ đặt thiết bị Ethernet đầu tiên thành địa chỉ 192.168.1.2 (hãy nhớ địa chỉ này để dùng sau). Nếu không có eth0, hãy dùng ifconfig để liệt kê tất cả các thiết bị mạng và xác định mã nhận dạng chính xác cho cổng Ethernet hoặc khoá bảo mật của bạn.
  3. Trên máy phát triển, hãy nhập adbconnect 192.168.1.2. Bạn cũng có thể chỉ định cổng theo cách thủ công bằng adb connect 192.168.1.2:5555.
  4. Sử dụng ADB hoặc Android Studio như bình thường. Bạn có thể xác minh kết nối bằng cách chạy adb devices.