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:
- ADB qua USB
- ADB qua Wi-Fi
- 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.
- Đả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.
- Đả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ổng5555, 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. - Đố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 5555trê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. - 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.- 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.
- 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.
- 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. - 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.
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.
- 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.xnhư192.168.1.3hoặ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:- Đố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. - Đố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. - Đố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 choenx00eXXXXXXXXXkhi chạysudo 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ành192.168.1.3.
- Đố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
- 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:
- Nhấn tổ hợp phím
ctrl+alt+tđể mở crosh, trình bao ChromeOS. - Nhập
shellrồi nhấn Enter. - Loại
ssh root@localhost - 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 - Mật khẩu mặc định là
test0000 - 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ùngifconfigđể 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.
- Nhấn tổ hợp phím
- 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ằngadb connect 192.168.1.2:5555. - 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.