1. ADB là gì?

ADB viết tắt của Android Debug Bridge, là một cầu nối (Bridge) giữa thiết bị android và máy tính thông qua các dòng lệnh cmd để có thể giao tiếp với nhau. Cho phép bạn truy cập vào Unix shell để thi hành các lệnh nhân Unix trên thiết bị.

Nếu bạn muốn điều khiển nhiều thiết bị Android một cách đơn giản, nhanh chóng mà không phải thực hiện thủ công trên từng thiết bị thì adb là một công cụ hỗ trợ tuyệt vời. Sử dụng adb bạn có thể làm được rất nhiều thứ như liệt kê danh sách các thiết bị Android được kết nối, cài đặt/gỡ cài đặt ứng dụng,.. Chúng ta sẽ cùng tìm hiểu ở các phần sau.

2. Cài đặt ADB

Như vậy bạn đã biết sơ lược adb là gì, bước tiếp theo chúng ta cùng cài đặt, và chạy thử adb.

adb nằm trong gói Android SDK Platform-Tools, bạn hãy truy cập vào đường link https://developer.android.com/studio/releases/platform-tools , chọn hệ điều hành tương ứng rồi tải file nén về máy.

Sau khi đã giải nén, copy đường dẫn tới floder platform-tools.

Tiếp theo sửa "Path" của System Variable.

Để kiểm tra xem bạn đã cài đặt thành công chưa, mở cửa sổ cmd và gõ lệnh adb, nếu hiện lên thông tin của adb thì bạn đã cài đặt thành công!

3. Các lệnh adb thường dùng.

Sau khi đã cài đặt thành công adb, bây giờ chúng ta sẽ cùng tìm hiểu các lệnh adb thường dùng. Nếu bạn chỉ đơn giản là muốn tìm hiểu về adb để tương tác với thiết bị Android, thì mình xin giới thiệu một trình giả lập di động(Mobile Emulator) rất hữu ích đó là Memu. Các bạn truy cập vào link https://www.memuplay.com/vi/ tải rồi cài đặt.

Vậy là bạn đã chuẩn bị đầy đủ các công cụ cần thiết, giờ chúng ta cùng đi tìm hiểu các lệnh cơ bản sau:

  • ADB devices

Lệnh này dùng để liệt kê danh sách các thiết bị Android được kết nối. Cú pháp thực hiện:

adb devices

Kết quả như hình:

Như trên hình chúng ta có thể biết được số se-ri và trạng thái của Emulator được kết nối.

  • ADB get-state

Lệnh này được sử dụng để biết trạng thái thiết bị. Cú pháp:

adb get-state

Trạng thái của thiết bị gồm có: print offline, bootloader, hoặc device.

  • ADB get-serialno

Xem số sê-ri của thiết bị được kết nối.

adb get-serialno
  • ADB install

Để cài đặt một ứng dụng, bạn chỉ ra đường dẫn đầy đủ của file apk. Mặc định sẽ chọn thiết bị đầu tiên trong danh sách các thiết bị được kết nối

adb install "path/to/file.apk"

Nếu muốn chỉ định thiết bị trong danh sách các thiết bị được cài đặt, chúng ta truyền thêm số se-ri của thiết bị theo cú pháp:

adb -s [serial-number] install "path/to/file.apk"

Khi muốn gỡ bõ một ứng dụng nào đó, sử dụng lệnh:

adb uninstall <package-name>
  • ADB push

Lệnh này sẽ copy một file từ máy tính bạn sang thiết bị. Cú pháp:

adb push remote local
  • Trong đó
    • remote: đường dẫn tới file trên máy.
    • local: thư mục file trên thiết bị.

Ví dụ: adb push C:\sample.zip /sdcard/

Chuyển một file có tên sample.zip vào thẻ sd trong thiết bị Android.

  • ADB pull

Ngược lại nếu muốn copy một file từ thiết bị vào máy tính. Sử dụng lệnh:

adb pull local remote

Ví dụ: adb pull /sdcard/sample.zip C:\

  • ADB reboot

Lệnh này có tác dụng khởi động lại thiết bị. Cú pháp:

adb reboot

Nếu muốn  khởi động lại thiết bị và truy cập ngay vào bootloader của thiết bị (bộ nạp khởi động)

adb reboot-bootloader

Thông thường khi sử dụng máy Android khi muốn khôi phục thiết bị Android về cài đặt ban đầu thì bạn phải giữ kết hợp 2 nút âm lượng và nút nguồn. Nhưng với adb bạn chỉ cần gõ dòng lệnh:

adb reboot-recovery
  • ADB shell
adb shell
  • Lệnh adb shell dùng để khởi động shell từ xa, từ đây có thể gõ một số lệnh mà nhân linux cung cấp trên thiết bị, như:
    • ps liệt kê các tiến trình đang chạy trên thiết bị
    • li liệt kê file
    • cd chuyển thư mục
    • rm xóa file
    • mkdir tạo thư mục. Ví dụ: mkdir /sdcard/tmp
    • cp copy file
    • mv di chuyển, đổi tên file
    • netstat trạng thái mạng
    • ping kiểm tra kết nối. Ví dụ: ping google.com
  • adb shell screencap

Chụp ảnh màn hình thiết bị. Ví dụ chụp ảnh màn hình và lưu vào /sdcard/picture.png

adb shell screencap /sdcard/picture.png
  • adb shell screenrecord

Lệnh này để ghi video màn hình, ví dụ:

adb shell screenrecord /sdcard/video.mp4

Trên đây là một số lệnh mà mình tìm hiểu và tổng hợp được, bạn có thể tham khảo thêm các lệnh khác được tổng hợp dưới đây:

https://developer.android.com/studio/command-line/adb