android - adb

Android Debug Bridge

ADB - Command line อเนกประสงค์ที่ใช้ติดต่อกับ emulator หรืออุปกรณ์ android device
adb tool จะอยู่ในโฟลเดอร์ของ sdk ดังนี้
<sdk>/platform-tools/



Enabling adb Debugging
ก่อนจะใช้ adb กับ device ที่เชื่อมต่อ PC ผ่าน USB / Wireless
ต้อง enable USB debugging ใน device system settings, ภายใต้ Developer options.
(บน android 4.2 และสูงกว่า Developer options screen จะ hidden โดย default.)
จะทำให้มองเห็นได้โดยไปที่ Setting > About phone > Build number


Usage
adb [-d|-e|-s <serialNumber>] <command>





Querying for Emulator/Device Instances


คำสั่ง : adb devices
จะแสดงข้อมูลของแต่ละ instance (device/emulator)
output แต่ละ instance จะมีฟอแมทดังนี้

List of devices attached
emulator-5554  device        <<<< [serialNumber] [state]
emulator-5556  device

อธิบาย
Serial number - คือ String ที่สร้างโดย adb ใช้ในการระบุตัวตนของแต่ละ emulator/device
State - มี 3 สถานะคือ Offline | device (connected) | no device


Directing Commands to a Specific Emulator/Device Instance

adb -s <serialNumber> <command>
ex:  adb -s emulator-5556 install /path/to/helloWorld.apk


Forwarding Ports
adb forward tcp:6100 tcp:7100 - Forwarding host port 6100 to emulator/device port 7100


Copying Files to or from an Emulator/Device Instance
adb pull <remote> <local>
adb push <local> <remote>
ex :  adb push foo.txt /sdcard/foo.txt


Stopping the adb Server
kill-server


Wireless usage
http://developer.android.com/tools/help/adb.html#wireless




Tip*
จริงแล้ว adb ก็คือ client-server program ที่มี 3 components

a client - ทำงานบน development machine.
สามารถสั่งการ client จาก shell โดยการใช้ adb command
อีกทั้งยังเป็น android tools เช่น ADT plugin และ DDMS ก็ต่างใช้ adb clients.

"ทุก adb client ใช้ port 5037 สื่อสารกับ adb server "

a server  -  ทำงานอยู่ใน background process บน development machine.
server จัดการการสื่อสารระหว่าง adb daemon running บน emulator หรือ device

a daemon - ทำงานเป็น background process บนแต่ละ emulator หรือ device


เมื่อคุณ start adb client จะมีการค้นหา emulator
โดยการ scanning odd-number port ในช่วง 5555 - 5585  ใช้โดย emulator/device


Emulator 1, console: 5554
Emulator 1, adb: 5555                  // emulator connected to adb on port 5555
Emulator 2, console: 5556
Emulator 2, adb: 5557
and so on...


Source : http://developer.android.com/tools/help/adb.html

ไม่มีความคิดเห็น:

แสดงความคิดเห็น