Giải thíchĐăng ngày: 5 phút đọc

ADB là gì? Giải thích Android Debug Bridge dễ hiểu

ADB (Android Debug Bridge) giúp máy tính giao tiếp với thiết bị Android. Tìm hiểu ba thành phần, cách cấp quyền kết nối, USB và Wi-Fi, khác biệt với fastboot.

ADB, viết tắt của Android Debug Bridge, là công cụ để máy tính giao tiếp với điện thoại, máy tính bảng hoặc tivi Android. Với ADB, bạn có thể cài ứng dụng, đọc log, chép tệp, chạy lệnh shell và điều khiển màn hình, tất cả ngay trên máy tính. Google phát hành ADB cùng Android SDK, và đây cũng chính là công cụ Android Studio dùng phía sau mỗi lần bạn bấm Run.

Một cây cầu gồm ba phần

ADB trông như một lệnh duy nhất, nhưng thực ra là ba chương trình phối hợp với nhau:

Thành phầnChạy ở đâuLàm gì
ClientMáy tính của bạnChính là lệnh adb bạn gõ. Nó gửi yêu cầu đến server.
ServerMáy tính của bạn, chạy nềnTheo dõi các thiết bị đang kết nối và chuyển tin nhắn qua lại giữa client và thiết bị. Lắng nghe ở cổng 5037.
Daemon (adbd)Thiết bị AndroidNhận lệnh và thực thi chúng trên thiết bị.

Lần đầu bạn gõ một lệnh adb, client sẽ tự khởi động server nếu server chưa chạy. Sau đó server dò tìm thiết bị qua USB và qua mạng. Khi bạn chạy adb shell ls, client chuyển yêu cầu cho server, server chuyển tiếp đến adbd trên thiết bị, và kết quả trả về theo đúng đường đó.

Đó là lý do mỗi lúc chỉ nên có một chương trình chạy ADB server. Nếu Android Studio, scrcpy và cửa sổ terminal cùng tranh nhau kết nối USB, chúng sẽ giành giật lẫn nhau và bạn gặp lỗi kiểu "device busy". Cách xử lý thường là chạy adb kill-server hoặc đóng công cụ kia lại. Xem thêm bài sửa lỗi thiết bị bận hoặc unauthorized.

Thiết bị cho máy tính kết nối như thế nào

ADB làm được rất nhiều thứ, nên Android không cho bất kỳ máy tính nào cũng dùng được.

  1. Phải bật gỡ lỗi USB. Tùy chọn này nằm trong Tùy chọn nhà phát triển, vốn bị ẩn cho đến khi bạn chạm vào số bản dựng bảy lần. Xem cách bật gỡ lỗi USB.
  2. Thiết bị phải chấp nhận máy tính. Mỗi máy tính có một khóa RSA riêng. Lần đầu kết nối, điện thoại hiện hộp thoại "Allow USB debugging?" (Cho phép gỡ lỗi USB?) kèm mã vân tay của khóa đó. Chừng nào bạn chưa chạm Allow, thiết bị vẫn hiện là unauthorized và không lệnh nào chạy được.

Bạn có thể rút lại quyền này bất cứ lúc nào bằng mục Thu hồi ủy quyền gỡ lỗi USB (Revoke USB debugging authorizations) trong Tùy chọn nhà phát triển.

USB hay Wi-Fi

ADB hoạt động qua hai kiểu kết nối:

  • Cáp USB: cách mặc định. Nhanh, ổn định và dễ thiết lập nhất.
  • Qua mạng: có thể là adb tcpip kiểu cũ, cần cắm cáp một lần để chuyển điện thoại sang cổng 5555, hoặc Gỡ lỗi không dây trên Android 11 trở lên, ghép nối bằng mã và không cần cáp. Khác biệt giữa hai cách có trong bài adb tcpip và Gỡ lỗi không dây.

Với phần lớn tivi, ADB qua mạng là lựa chọn duy nhất vì tivi không cắm USB vào máy tính được. Xem cách điều khiển Android TV bằng ADB.

ADB và fastboot

Nhiều người hay nhầm hai công cụ này vì chúng nằm chung một gói tải về là Android SDK platform-tools.

ADBFastboot
Hoạt động khiAndroid (hoặc recovery) đang chạyĐiện thoại ở chế độ bootloader / fastboot, trước khi Android khởi động
Dùng đểỨng dụng, log, tệp, shell, màn hìnhFlash phân vùng, mở khóa bootloader
Phía thiết bịadbdBootloader

Lệnh adb reboot bootloader là cầu nối quen thuộc giữa hai bên: nó đưa một điện thoại đang chạy vào chế độ fastboot. Những gì làm được ở đó có trong bài hướng dẫn chế độ fastboot.

Lấy ADB ở đâu

Có hai cách phổ biến:

  • Android SDK platform-tools: gói tải miễn phí của Google cho Windows, macOS và Linux. Bạn giải nén, thêm thư mục vào PATH rồi dùng adb trong terminal.
  • Ngay trên trình duyệt: Chrome và Edge giao tiếp được với thiết bị USB qua WebUSB, nên một trang web có thể nói chuyện trực tiếp bằng giao thức ADB. ADBKit hoạt động theo cách này, dùng qua USB thì không cần cài gì. Phần kỹ thuật có trong bài WebADB và WebUSB là gì.

ADB có an toàn không?

ADB là công cụ gỡ lỗi, nên máy tính đã được chấp nhận sẽ có quyền truy cập khá sâu: cài ứng dụng, đọc log của ứng dụng và chép tệp từ bộ nhớ dùng chung. Điều đó an toàn khi máy tính là của bạn và bạn biết mình đang chạy gì. Vài thói quen giúp giữ an toàn:

  • Chỉ chạm Allow với những máy tính bạn tin tưởng.
  • Tắt gỡ lỗi USB khi không cần nữa, nhất là trên chiếc điện thoại bạn mang theo hằng ngày.
  • Đừng để ADB qua mạng bật khi dùng Wi-Fi công cộng hoặc mạng dùng chung.

Bước tiếp theo