Android Debug Bridge
ADB - Command line อเนกประสงค์ที่ใช้ติดต่อกับ emulator หรืออุปกรณ์ android deviceadb 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
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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น