ADB: kiến thức cơ bản về Android Debug Bridge và các lệnh phổ biến

Tác giả: IT Sectr Đã đăng: 2026-02-12 Thời gian đọc: 10 phút

ADB (Android Debug Bridge) là một tiện ích dòng lệnh đa năng, một phần của Android SDK. Nó cho phép máy tính tương tác trực tiếp với thiết bị Android qua cáp USB hoặc Wi-Fi. Với ADB, bạn có thể cài đặt và gỡ cài đặt ứng dụng, sao chép tệp, chạy lệnh shell, xem nhật ký hệ thống, chụp ảnh màn hình và quay màn hình, quản lý cài đặt và thậm chí thực hiện kiểm thử tự động. Công cụ này không thể thiếu đối với nhà phát triển, người kiểm thử và những người đam mê muốn kiểm soát hoàn toàn thiết bị.

Các điểm chính

  • ADB — công cụ gỡ lỗi dòng lệnh cho Android, một phần của công cụ nền tảng SDK
  • Kết nối — hoạt động qua USB và Wi-Fi (adb tcpip / adb connect)
  • Lệnh cơ bản — adb devices, adb shell, adb install, adb uninstall, adb pull / push
  • Nhật ký — adb logcat với bộ lọc theo thẻ và mức độ nghiêm trọng
  • Ảnh chụp và quay màn hình — adb shell screencap và adb shell screenrecord
  • Nhiều thiết bị — adb -s để chọn thiết bị cụ thể
  • Tự động hóa — adb shell input để mô phỏng chạm, vuốt và nhập văn bản

ADB là gì và tại sao cần nó

Android Debug Bridge (ADB) là một ứng dụng client-server gồm ba thành phần: client (chạy trên máy tính), server (tiến trình nền trên máy tính) và daemon adbd (chạy trên chính thiết bị Android). Khi nhà phát triển hoặc kỹ sư kết nối điện thoại thông minh với PC, ADB tạo một kênh liên lạc đáng tin cậy để truyền lệnh, tệp và dữ liệu.

Các trường hợp sử dụng chính của ADB bao gồm gỡ lỗi ứng dụng trên thiết bị thật mà không cần xuất bản APK lên cửa hàng, trích xuất nhật ký để phân tích lỗi, tự động hóa kiểm thử, sao lưu dữ liệu, flash ảnh recovery và giành quyền truy cập root. Ngay cả khi bạn không viết mã, ADB có thể hữu ích để trích xuất ảnh chụp màn hình từ ứng dụng, quay video hướng dẫn từ màn hình điện thoại hoặc khôi phục thiết bị sau khi cập nhật firmware thất bại.

Hỗ trợ ADB được tích hợp trong tất cả các bản dựng Android chính thức từ phiên bản 2.1 (API 7). Yêu cầu bật tùy chọn Gỡ lỗi USB trong cài đặt nhà phát triển. Bắt đầu từ Android 4.2, lần kết nối đầu tiên thiết bị yêu cầu xác nhận: bạn phải cho phép gỡ lỗi cho máy tính cụ thể bằng khóa RSA của nó.

Cài đặt ADB trên máy tính

Cho Windows — tải Platform Tools từ trang web chính thức của Google Developers, giải nén vào thư mục C:\adb và thêm đường dẫn này vào biến môi trường PATH. Sau khi khởi động lại terminal, lệnh adb sẽ khả dụng toàn cục.

Cho macOS — cách dễ nhất là cài đặt ADB qua trình quản lý gói Homebrew: chạy brew install android-platform-tools. Tất cả các phụ thuộc sẽ được giải quyết tự động.

Cho Linux — trên các bản phân phối dựa trên Debian / Ubuntu: sudo apt install adb. Sau khi cài đặt, thêm người dùng vào nhóm plugdev: sudo usermod -aG plugdev $USER và đăng nhập lại để ADB có thể truy cập thiết bị USB.

Kiểm tra cài đặt bằng lệnh adb version. Nếu đầu ra hiển thị số phiên bản Android Debug Bridge, công cụ đã sẵn sàng để sử dụng.

Kết nối thiết bị và các lệnh cơ bản

Kết nối đầu tiên luôn bắt đầu bằng lệnh adb devices. Nó hiển thị danh sách các thiết bị đã kết nối và trạng thái của chúng. Nếu thiết bị hiển thị là unauthorized, hãy mở khóa màn hình và xác nhận gỡ lỗi trên điện thoại.

adb devices
List of devices attached
emulator-5554   device
0123456789ABCD  device

Cài đặt ứng dụng — một trong những thao tác thường xuyên nhất. Chỉ cần chỉ định đường dẫn đến tệp APK:

adb install C:\apps\myapp.apk

Nếu ứng dụng đã được cài đặt nhưng cần thay thế bằng phiên bản cập nhật, hãy thêm cờ -r (replace):

adb install -r C:\apps\myapp-v2.apk

Gỡ cài đặt ứng dụng được thực hiện theo tên gói:

adb uninstall com.example.myapp

Sao chép tệp — adb pull lấy tệp từ thiết bị về máy tính, adb push tải tệp lên thiết bị:

adb pull /sdcard/DCIM/screenshot.png .
adb push myfile.txt /sdcard/Documents/

Shell tương tác — lệnh adb shell mở shell lệnh của thiết bị. Bên trong nó, bạn có thể chạy các lệnh Linux tiêu chuẩn: ls, ps, top, dumpsys, pm, am và các lệnh khác.

adb shell
tissot_sprout:/ $ ls -la /sdcard/
tissot_sprout:/ $ ps | grep com.android.chrome

Khởi chạy hoạt động qua ADB cho phép mở bất kỳ ứng dụng hoặc màn hình nào mà không cần tìm kiếm biểu tượng thủ công:

adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main

Làm việc với nhật ký: Logcat

Logcat là hệ thống ghi nhật ký Android thu thập thông báo từ ứng dụng, dịch vụ hệ thống và nhân. Công cụ này không thể thiếu để gỡ lỗi: nhật ký giúp hiểu tại sao ứng dụng bị crash, phương thức nào gây ra ngoại lệ hoặc thao tác cụ thể mất bao lâu.

Khởi chạy đơn giản không có bộ lọc — adb logcat. Luồng nhật ký là vô hạn; nhấn Ctrl+C để dừng. Để lọc thông báo theo thẻ, sử dụng tham số -s:

adb logcat -s MainActivity:V

Mức độ nghiêm trọng của nhật ký (từ chi tiết nhất đến nghiêm trọng): V (Verbose), D (Debug), I (Info), W (Warning), E (Error), F (Fatal). Kết hợp thẻ và mức độ cho phép chỉ làm nổi bật các thông báo cần thiết.

Để xóa bộ đệm tích lũy trước khi kiểm thử:

adb logcat -c

Và để lưu nhật ký vào tệp:

adb logcat -d > app_logs.txt

Cờ -d (dump) xuất bộ đệm hiện tại và kết thúc mà không chặn terminal. Điều này thuận tiện cho các tập lệnh tự động hóa.

Ảnh chụp màn hình, quay màn hình và lệnh chẩn đoán hữu ích

Ảnh chụp màn hình được chụp bằng lệnh adb shell screencap. Kết quả được lưu vào tệp và sau đó được lấy qua adb pull:

adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png

Bạn có thể kết hợp cả hai thao tác thành một dòng bằng cách sử dụng thay thế và đường ống. Trong thực tế, điều này tăng tốc việc tạo tài liệu và báo cáo kiểm thử.

Quay màn hình có sẵn trên Android 4.4+ (API 19). Thời lượng quay mặc định là 180 giây, tốc độ bit là 4 Mbps. Lệnh chính:

adb shell screenrecord /sdcard/demo.mp4

Nhấn Ctrl+C để dừng quay. Độ phân giải video tương ứng với độ phân giải màn hình thiết bị nhưng không vượt quá 1080p. Để thay đổi tốc độ bit, chỉ định --bit-rate:

adb shell screenrecord --bit-rate 8000000 /sdcard/demo.mp4

Lệnh chẩn đoán: adb shell dumpsys xuất trạng thái của tất cả dịch vụ hệ thống. Để chỉ lấy thông tin pin:

adb shell dumpsys battery

Danh sách gói đã cài đặt có thể lấy qua Package Manager:

adb shell pm list packages

Đặt lại cài đặt ứng dụng (tương đương xóa dữ liệu trong cài đặt):

adb shell pm clear com.example.myapp

Tính năng nâng cao của ADB

Gỡ lỗi qua Wi-Fi loại bỏ nhu cầu giữ thiết bị kết nối qua USB. Đảm bảo máy tính và thiết bị ở cùng một mạng. Đầu tiên chạy adb tcpip 5555, ngắt kết nối USB, sau đó kết nối qua IP:

adb tcpip 5555
adb connect 192.168.1.100:5555

Nếu địa chỉ IP của thiết bị không xác định, hãy tìm nó qua adb shell ip addr show wlan0 trước khi ngắt cáp.

Sao lưu dữ liệu của ứng dụng hoặc toàn bộ hệ thống có thể được thực hiện mà không cần root:

adb backup -apk -shared -all -system -f mybackup.ab

Khôi phục từ bản sao lưu:

adb restore mybackup.ab

Mô phỏng đầu vào — lệnh adb shell input cho phép mô phỏng chạm, vuốt, nhấn phím và nhập văn bản. Đây là nền tảng cho tự động hóa kiểm thử UI mà không cần framework bổ sung:

adb shell input tap 500 1000
adb shell input swipe 300 500 800 500
adb shell input text "Hello, ADB!"

Khởi động lại ở các chế độ khác nhau:

adb reboot          # normal reboot
adb reboot recovery # recovery mode
adb reboot bootloader # bootloader (fastboot)

Chế độ fastboot cung cấp quyền truy cập để flash ảnh, mở khóa bộ nạp khởi động và cài đặt recovery tùy chỉnh.

Làm việc với nhiều thiết bị

Khi nhiều thiết bị hoặc trình giả lập được kết nối đồng thời, ADB yêu cầu số sê-ri cụ thể. Lệnh adb devices liệt kê tất cả thiết bị đã kết nối với số sê-ri của chúng.

Để gửi lệnh đến một thiết bị cụ thể, sử dụng cờ -s:

adb -s 0123456789ABCD install myapp.apk

Nếu chỉ có một thiết bị, có thể bỏ qua cờ. Tuy nhiên, trong môi trường CI nơi nhiều trình giả lập chạy đồng thời, việc chỉ định số sê-ri là bắt buộc.

Tắt server ADB — nếu thiết bị ngừng được phát hiện hoặc báo lỗi, khởi động lại server sẽ giúp:

adb kill-server
adb start-server

Sau đó chạy adb devices — server sẽ khởi động lại và chuyển hướng yêu cầu đến các daemon thiết bị.

Các lệnh ADB chính: bảng tham khảo

Lệnh Mô tả
adb devices Hiển thị danh sách thiết bị đã kết nối
adb install Cài đặt tệp APK trên thiết bị
adb uninstall Gỡ cài đặt ứng dụng theo tên gói
adb shell Mở shell lệnh tương tác
adb push Sao chép tệp từ máy tính sang thiết bị
adb pull Sao chép tệp từ thiết bị sang máy tính
adb logcat Xem nhật ký hệ thống và ứng dụng
adb shell screencap Chụp ảnh màn hình
adb shell screenrecord Quay video màn hình
adb reboot Khởi động lại thiết bị
adb tcpip 5555 Chuyển ADB sang chế độ TCP/IP cho Wi-Fi
adb connect :5555 Kết nối đến thiết bị qua Wi-Fi

Câu hỏi thường gặp

Làm thế nào để bật gỡ lỗi USB nếu menu Tùy chọn nhà phát triển bị ẩn?

Mở Cài đặt → Giới thiệu về điện thoại và nhấn vào Số bản dựng 7 lần. Quay lại menu cài đặt chính — phần Tùy chọn nhà phát triển sẽ xuất hiện. Bên trong, bật Gỡ lỗi USB. Bắt đầu từ Android 4.2, khi kết nối với máy tính lần đầu, bạn phải xác nhận khóa RSA gỡ lỗi trên màn hình thiết bị.

Tại sao lệnh adb devices hiển thị trạng thái unauthorized?

Thiết bị không tin tưởng máy tính. Mở khóa màn hình điện thoại; khi hộp thoại Cho phép gỡ lỗi USB xuất hiện, hãy chọn Luôn cho phép cho máy tính này và nhấn OK. Nếu hộp thoại không xuất hiện, hãy ngắt và kết nối lại cáp USB hoặc chạy adb kill-server && adb start-server.

Làm thế nào để cài đặt APK trên thiết bị không có màn hình (màn hình hỏng)?

ADB không yêu cầu tương tác với màn hình. Kết nối thiết bị qua USB, đợi nó xuất hiện trong adb devices (nếu gỡ lỗi đã được bật) và chạy adb install <đường_dẫn_apk>. Để mở ứng dụng, sử dụng adb shell am start -n /. Nếu gỡ lỗi chưa được bật trước đó, việc khôi phục quyền truy cập mà không có màn hình khó khăn hơn đáng kể — sẽ cần recovery tùy chỉnh.

Sự khác biệt giữa adb install và cài đặt qua Google Play là gì?

ADB cài đặt APK trực tiếp, bỏ qua kiểm tra của Google Play Protect trong quá trình cài đặt, cho phép kiểm thử ứng dụng trước khi xuất bản. Tuy nhiên, kiểm tra phần mềm độc hại cuối cùng vẫn chạy sau khi cài đặt. ADB không yêu cầu tài khoản Google, điều này quan trọng đối với ki-ốt doanh nghiệp và thiết bị không có dịch vụ Google.

Tôi có thể sử dụng ADB mà không cần quyền truy cập root trên thiết bị không?

Có, đại đa số lệnh ADB hoạt động mà không cần root. Ngoại lệ là các lệnh yêu cầu truy cập vào phân vùng hệ thống được bảo vệ (ví dụ: dump trực tiếp phân vùng boot hoặc sửa đổi tệp hệ thống). Đối với các tác vụ hàng ngày — cài đặt ứng dụng, ghi nhật ký, chụp màn hình, sao lưu, mô phỏng đầu vào — không cần root.

Kết luận

ADB (Android Debug Bridge) là công cụ nền tảng cho bất kỳ ai làm việc với Android ở cấp độ chuyên nghiệp. Từ cài đặt ứng dụng cơ bản đến tự động hóa kiểm thử phức tạp và khôi phục thiết bị — ADB bao phủ hầu hết mọi kịch bản tương tác giữa máy tính và điện thoại thông minh hoặc máy tính bảng.

Bằng cách làm chủ các lệnh được mô tả trong bài viết này, bạn sẽ có thể tự tin quản lý thiết bị Android qua terminal, phân tích nhật ký, chụp ảnh màn hình cho tài liệu, thực hiện sao lưu và tăng tốc quá trình phát triển. Thực hành thường xuyên và nghiên cứu đầu ra của adb help sẽ giúp bạn trở thành người dùng thành thạo công cụ mạnh mẽ này.

Tóm tắt

  • ADB — công cụ gỡ lỗi dòng lệnh cho Android, một phần của Platform Tools Android SDK
  • Kết nối — hoạt động qua USB và Wi-Fi với lệnh adb tcpip và adb connect
  • Lệnh cơ bản — adb devices, adb shell, adb install, adb uninstall, adb pull / adb push
  • Logcat — hệ thống ghi nhật ký Android với bộ lọc theo thẻ và mức độ nghiêm trọng V/D/I/W/E/F
  • Ảnh chụp và quay màn hình — adb shell screencap và adb shell screenrecord để tạo ảnh và video màn hình
  • Tính năng nâng cao — gỡ lỗi Wi-Fi, sao lưu dữ liệu, mô phỏng đầu vào, khởi động lại vào fastboot và recovery
  • Nhiều thiết bị — cờ -s để chọn thiết bị cụ thể khi kết nối song song

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm