ADB qua Wi-Fi: kết nối Android không cần dây cáp
Kết nối Android với adb không dây bằng adb tcpip 5555 và adb connect, tìm IP của điện thoại, giữ an toàn mạng và dùng công cụ Wi-Fi của ADBKit.
Để dùng ADB qua Wi-Fi, hãy kết nối điện thoại bằng USB một lần, chạy adb tcpip 5555, rút cáp, rồi chạy adb connect <ip-điện-thoại>:5555. Máy tính và điện thoại phải cùng một mạng. Android 11 trở lên còn có chế độ Gỡ lỗi không dây tích hợp, dùng mã ghép nối và hoàn toàn không cần cáp.
Trước khi bắt đầu
- Phải bật gỡ lỗi USB trên điện thoại. Xem cách bật gỡ lỗi USB nếu bạn chưa làm.
- Máy tính và điện thoại phải cùng mạng nội bộ. Mạng khách và một số Wi-Fi công cộng chặn lưu lượng giữa các thiết bị.
- Với cách dùng dòng lệnh, bạn cần Android platform tools (
adb) trên máy tính.
Cách 1: Cách truyền thống (adb tcpip)
Cách này chạy trên mọi phiên bản Android có bật gỡ lỗi USB.
- Kết nối điện thoại bằng cáp USB và xác nhận đã được xác thực:
adb devices- Chuyển ADB daemon của thiết bị sang chế độ TCP/IP trên cổng 5555:
adb tcpip 5555Bạn sẽ thấy dòng restarting in TCP mode port: 5555.
- Tìm địa chỉ IP của điện thoại (xem mục kế tiếp).
- Rút cáp và kết nối qua mạng:
adb connect 192.168.1.42:5555Hãy thay địa chỉ bằng địa chỉ điện thoại của bạn. Khi thành công sẽ in ra connected to 192.168.1.42:5555.
- Kiểm tra:
adb devicesThiết bị lúc này hiện là 192.168.1.42:5555. Mọi lệnh quen thuộc đều chạy như khi cắm cáp.
Để ngắt kết nối, chạy adb disconnect 192.168.1.42:5555. Chế độ TCP không tồn tại vĩnh viễn: nó được đặt lại khi điện thoại khởi động lại.
Tìm địa chỉ IP của điện thoại
- Trên Android gốc: Cài đặt > Giới thiệu về điện thoại > Thông tin trạng thái (hoặc Trạng thái) và tìm Địa chỉ IP. Hoặc mở chi tiết mạng Wi-Fi đang kết nối trong Cài đặt > Mạng và internet > Internet.
- Từ máy tính, khi điện thoại đang nối qua USB:
adb shell ip routeĐịa chỉ đứng sau src ở dòng wlan0 chính là IP của điện thoại.
Tên menu khác nhau tùy hãng, nhưng địa chỉ IP luôn nằm đâu đó trong chi tiết mạng Wi-Fi hoặc trang trạng thái của điện thoại.
Cách 2: Gỡ lỗi không dây (Android 11 trở lên)
Android 11 bổ sung chế độ ghép nối không cần cáp.
- Mở Cài đặt > Hệ thống > Tùy chọn nhà phát triển và bật Gỡ lỗi không dây (điện thoại phải đang dùng Wi-Fi).
- Chạm Gỡ lỗi không dây, rồi chọn Ghép nối thiết bị bằng mã ghép nối. Điện thoại hiển thị địa chỉ IP, một cổng và mã sáu chữ số.
- Trên máy tính, ghép nối bằng cổng ghép nối đó:
adb pair 192.168.1.42:37123Nhập mã sáu chữ số khi được hỏi.
- Quay lại màn hình Gỡ lỗi không dây chính, ghi lại địa chỉ IP và cổng hiển thị ở đó (khác với cổng ghép nối) rồi kết nối:
adb connect 192.168.1.42:41567Cổng này thay đổi, nên có thể bạn cần xem lại mỗi lần bật lại tùy chọn.
Bảo mật: đọc kỹ trước khi để bật
Cảnh báo: Cổng ADB qua TCP đang mở có thể bị bất kỳ ai trong cùng mạng truy cập, và kẻ tấn công tiếp cận được cổng này có thể thử giao tiếp với điện thoại của bạn. Chỉ dùng trên mạng đáng tin cậy như mạng ở nhà hoặc công ty, tuyệt đối không dùng trên Wi-Fi công cộng.
Android vẫn yêu cầu xác thực khóa RSA ở lần đầu một máy tính kết nối, đó là một lớp bảo vệ, nhưng bạn không nên chỉ dựa vào nó. Khi dùng xong, chạy:
adb usbLệnh này đưa thiết bị về chế độ USB. Khởi động lại điện thoại cũng đặt lại chế độ TCP truyền thống, và bạn có thể tắt Gỡ lỗi không dây trong Tùy chọn nhà phát triển.
Dùng ADB qua Wi-Fi trong ADBKit
Trình duyệt web không thể mở kết nối TCP thô nên tự nó không truy cập được cổng 5555. ADBKit giải quyết bằng một công cụ nhỏ chạy trên máy tính của bạn để chuyển tiếp lưu lượng. Công cụ này cần Node.js. Hướng dẫn cài đặt đầy đủ, tùy chọn và cách xử lý lỗi nằm trong tài liệu về trình hỗ trợ Wi-Fi của ADBKit.
- Tải công cụ adbkit-bridge.mjs và khởi động nó từ thư mục bạn lưu:
node adbkit-bridge.mjs- Kết nối điện thoại qua USB trong không gian làm việc ADBKit và mở hộp thoại Wi-Fi.
- Nhấn Turn on Wi-Fi debugging (Bật gỡ lỗi Wi-Fi). ADBKit sẽ chạy
adb tcpip 5555giúp bạn và hiển thị địa chỉ của điện thoại. - Kết nối bằng cách nhập địa chỉ IP (cổng 5555), hoặc dùng Scan network (Quét mạng) để tìm thiết bị.
Công cụ này chỉ lắng nghe trên 127.0.0.1, chỉ trả lời các trang ADBKit và chỉ kết nối tới địa chỉ mạng riêng, nên nó không phải một proxy mở đa dụng.
Lưu ý: ADBKit hiện hỗ trợ cách truyền thống
adb tcpip 5555. Quy trình mã ghép nối của Gỡ lỗi không dây trên Android 11+ (adb pair) chưa được hỗ trợ. Nếu điện thoại của bạn chỉ có Gỡ lỗi không dây, hãy dùng bước USB ở trên để bật chế độ TCP/IP trước.
Xử lý sự cố
failed to connecthoặc quá thời gian chờ. Xác nhận cả hai thiết bị cùng mạng và địa chỉ IP còn đúng; router có thể đổi IP. Một số mạng cô lập các thiết bị với nhau.unauthorizedsau khi kết nối. Mở khóa điện thoại và chấp nhận hộp thoại gỡ lỗi. Nếu vẫn lỗi, hãy thu hồi quyền trong Tùy chọn nhà phát triển rồi thử lại.- Kết nối bị rớt. Chế độ ngủ của Wi-Fi và tín hiệu yếu làm gián đoạn phiên. Kết nối lại bằng
adb connect. - Thiết bị đang bận. Mỗi lúc chỉ một chương trình dùng được một kết nối. Xem khắc phục lỗi ADB device busy hoặc unauthorized.
Nếu muốn hiểu vì sao trình duyệt cần công cụ hỗ trợ cho TCP trong khi USB dùng trực tiếp được, hãy đọc WebADB là gì.