adb - คู่มืออ้างอิง ตัวเลือก ตัวอย่างคำสั่ง


ชื่อ

adb - สะพานดีบัก Android

เรื่องย่อ

adb [-d|-e|-s serialNumber] command

คำอธิบาย

คำเตือน: คู่มือนี้อาจล้าสมัย โปรดดูเอกสารอย่างเป็นทางการ

Android Debug Bridge (adb) เป็นเครื่องมือบรรทัดคำสั่งอเนกประสงค์ที่ให้คุณสื่อสารกับอินสแตนซ์อีมูเลเตอร์หรืออุปกรณ์ที่ใช้ Android ที่เชื่อมต่ออยู่ เป็นโปรแกรมไคลเอนต์เซิร์ฟเวอร์ที่มีส่วนประกอบสามส่วน:

  • ไคลเอนต์ ซึ่งส่งคำสั่ง ลูกค้าทำงานบนเครื่องพัฒนาของคุณ คุณสามารถเรียกใช้ไคลเอนต์จากเชลล์ได้โดยใช้คำสั่ง adb เครื่องมือ Android อื่นๆ เช่น DDMS ยังสร้างไคลเอนต์ adb อีกด้วย

  • ภูต ซึ่งเรียกใช้คำสั่งบนอุปกรณ์ daemon ทำงานเป็นกระบวนการเบื้องหลังในแต่ละอีมูเลเตอร์หรืออินสแตนซ์ของอุปกรณ์

  • เซิร์ฟเวอร์ ซึ่งจัดการการสื่อสารระหว่างไคลเอ็นต์และดีมอน เซิร์ฟเวอร์ทำงานเป็นกระบวนการพื้นหลังในเครื่องพัฒนาของคุณ

หากมีโปรแกรมจำลองทำงานเพียงเครื่องเดียวหรือเชื่อมต่ออุปกรณ์เพียงเครื่องเดียว คำสั่ง adb จะถูกส่งไปยังอุปกรณ์นั้นตามค่าเริ่มต้น หากใช้โปรแกรมจำลองหลายตัวและ/หรือเชื่อมต่ออุปกรณ์หลายเครื่อง คุณต้องใช้ตัวเลือก -d, -e หรือ -s เพื่อ ระบุอุปกรณ์เป้าหมายที่ควรส่งคำสั่ง

ตัวเลือก

-a

กำหนดให้ adb รับฟังการเชื่อมต่อจากอินเทอร์เฟซทั้งหมด

-d

ส่งคำสั่งไปยังอุปกรณ์ USB ที่เชื่อมต่อเท่านั้น ส่งคืนข้อผิดพลาดหากมีอุปกรณ์ USB มากกว่าหนึ่งเครื่อง

-e

สั่งคำสั่งไปยังอีมูเลเตอร์ที่กำลังทำงานอยู่เท่านั้น ส่งคืนข้อผิดพลาดหากมีการเรียกใช้โปรแกรมจำลองมากกว่าหนึ่งรายการ

-s specific device

ส่งคำสั่งไปยังอุปกรณ์หรืออีมูเลเตอร์ด้วยหมายเลขซีเรียลหรือตัวระบุที่กำหนด ลบล้างตัวแปรสภาพแวดล้อม ANDROID_SERIAL

-p product name or path

ชื่อผลิตภัณฑ์ง่ายๆ เช่น sooner หรือเส้นทางสัมพัทธ์/สัมบูรณ์ไปยังไดเร็กทอรีผลิตภัณฑ์ออก เช่น out/target/product/sooner หากไม่ได้ระบุ -p ระบบจะใช้ตัวแปรสภาพแวดล้อม ANDROID_PRODUCT_OUT ซึ่งต้องเป็นพาธสัมบูรณ์

-H

ชื่อของโฮสต์เซิร์ฟเวอร์ adb (ค่าเริ่มต้น: localhost)

-P

พอร์ตของเซิร์ฟเวอร์ adb (ค่าเริ่มต้น: 5037)

คำสั่ง

adb devices [-l]

แสดงรายการอุปกรณ์ที่เชื่อมต่อทั้งหมด -l จะแสดงรายการตัวระบุอุปกรณ์ด้วย

adb connect host[:port]

เชื่อมต่อกับอุปกรณ์ผ่าน TCP/IP พอร์ต 5555 จะใช้โดยค่าเริ่มต้น หากไม่ได้ระบุหมายเลขพอร์ต

adb disconnect [host[:port]]

ตัดการเชื่อมต่อจากอุปกรณ์ TCP/IP พอร์ต 5555 จะใช้โดยค่าเริ่มต้น หากไม่ได้ระบุหมายเลขพอร์ต การใช้คำสั่งนี้โดยไม่มีอาร์กิวเมนต์เพิ่มเติมจะยกเลิกการเชื่อมต่อจากอุปกรณ์ TCP/IP ที่เชื่อมต่อทั้งหมด

คำสั่งอุปกรณ์

adb push local... remote

คัดลอกไฟล์/dir ไปยังอุปกรณ์

adb pull [-a] remote [local]

คัดลอกไฟล์/dir จากอุปกรณ์ -a หมายถึงการประทับเวลาและโหมดการคัดลอก

adb sync [-l] [directory]

คัดลอกโฮสต์ -> อุปกรณ์เฉพาะเมื่อมีการเปลี่ยนแปลง -l หมายถึงรายการแต่ห้ามคัดลอก

หากไม่ได้ระบุ ไดเร็กทอรี /system, /vendor (ถ้ามี), /oem (ถ้ามี) และพาร์ติชัน /data จะได้รับการอัปเดต

หากเป็น ระบบ ผู้ขาย oem หรือ ข้อมูล จะมีการอัปเดตเฉพาะพาร์ติชันที่เกี่ยวข้องเท่านั้น

adb shell [-e escape] [-n] [-T|-t] [-x] [command]

เรียกใช้คำสั่งเชลล์ระยะไกล (เชลล์แบบโต้ตอบหากไม่มีคำสั่ง)

  • -e: เลือกอักขระหลีก หรือ ไม่มี เริ่มต้น ~

  • -n: อย่าอ่านจาก stdin

  • -T: ปิดใช้งานการจัดสรร PTY

  • -t: บังคับการจัดสรร PTY

  • -x: ปิดใช้งานรหัสทางออกระยะไกลและการแยก stdout/stderr

adb emu command

รันคำสั่งคอนโซลอีมูเลเตอร์

adb logcat [filter-spec]

ดูบันทึกอุปกรณ์

adb forward --list

แสดงรายการการเชื่อมต่อซ็อกเก็ตไปข้างหน้าทั้งหมด รูปแบบคือรายการของบรรทัดที่มีรูปแบบต่อไปนี้: serial " " local " " remote ""

adb forward local remote

ส่งต่อการเชื่อมต่อซ็อกเก็ต

ข้อมูลจำเพาะไปข้างหน้าเป็นหนึ่งใน:

  • tcp:พอร์ต

  • localabstract:ชื่อซ็อกเก็ตโดเมนยูนิกซ์

  • localreserved:ชื่อซ็อกเก็ตโดเมนยูนิกซ์

  • localfilesystem:ชื่อซ็อกเก็ตโดเมนยูนิกซ์

  • ผู้พัฒนา:ชื่ออุปกรณ์อักขระ

  • jdwp:กระบวนการ pid (ระยะไกลเท่านั้น)

adb forward --no-rebind local remote

เหมือนกับ "adb forward local remote" แต่จะล้มเหลวหากส่งต่อ local แล้ว

adb forward --remove local

ลบการเชื่อมต่อซ็อกเก็ตไปข้างหน้าเฉพาะ

adb forward --remove-all

ถอดการเชื่อมต่อซ็อกเก็ตไปข้างหน้าทั้งหมด

adb reverse --list

แสดงรายการการเชื่อมต่อซ็อกเก็ตย้อนกลับทั้งหมดจากอุปกรณ์

adb reverse remote local

การเชื่อมต่อซ็อกเก็ตย้อนกลับ

ข้อกำหนดย้อนกลับเป็นหนึ่งใน:

  • tcp:พอร์ต

  • localabstract:ชื่อซ็อกเก็ตโดเมนยูนิกซ์

  • localreserved:ชื่อซ็อกเก็ตโดเมนยูนิกซ์

  • localfilesystem:ชื่อซ็อกเก็ตโดเมนยูนิกซ์

adb reverse --no-rebind remote local

เหมือนกับ 'adb reverse remote local' แต่จะล้มเหลวหาก remote กลับด้านแล้ว

adb reverse --remove remote

ลบการเชื่อมต่อซ็อกเก็ตกลับด้านเฉพาะ

adb reverse --remove-all

ลบการเชื่อมต่อซ็อกเก็ตที่กลับด้านทั้งหมดออกจากอุปกรณ์

adb jdwp

แสดงรายการ PID ของกระบวนการที่โฮสต์การขนส่ง JDWP

adb install [-lrtsdg] file

พุชไฟล์แพ็คเกจนี้ไปยังอุปกรณ์และติดตั้ง

  • -l: แอปพลิเคชันล็อคไปข้างหน้า

  • -r: แทนที่แอปพลิเคชันที่มีอยู่

  • -t: อนุญาตแพ็คเกจการทดสอบ

  • -s: ติดตั้งแอปพลิเคชันใน sdcard

  • -d: อนุญาตให้ดาวน์เกรดโค้ดเวอร์ชัน (แพ็คเกจที่แก้ไขจุดบกพร่องได้เท่านั้น)

  • -g: ให้สิทธิ์รันไทม์ทั้งหมด

adb install-multiple [-lrtsdpg] file...

พุชไฟล์แพ็คเกจนี้ไปยังอุปกรณ์และติดตั้ง

  • -l: แอปพลิเคชันล็อคไปข้างหน้า

  • -r: แทนที่แอปพลิเคชันที่มีอยู่

  • -t: อนุญาตแพ็คเกจการทดสอบ

  • -s: ติดตั้งแอปพลิเคชันใน sdcard

  • -d: อนุญาตให้ดาวน์เกรดโค้ดเวอร์ชัน (แพ็คเกจที่แก้ไขจุดบกพร่องได้เท่านั้น)

  • -p: การติดตั้งแอปพลิเคชันบางส่วน

  • -g: ให้สิทธิ์รันไทม์ทั้งหมด

adb uninstall [-k] package

ลบแพ็คเกจแอพนี้ออกจากอุปกรณ์ -k หมายถึงเก็บข้อมูลและไดเรกทอรีแคช

adb bugreport [zipfile]

ส่งคืนข้อมูลทั้งหมดจากอุปกรณ์ที่ควรรวมอยู่ในรายงานจุดบกพร่อง

adb backup [-f file] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] [packages...]

เขียนข้อมูลที่เก็บถาวรของอุปกรณ์ลงใน ไฟล์ หากไม่ได้ระบุตัวเลือก -f ข้อมูลจะถูกเขียนไปที่ backup.ab ในไดเร็กทอรีปัจจุบัน

-apk | -noapk เปิด/ปิดการสำรองข้อมูลของ .apks ในไฟล์เก็บถาวร ค่าเริ่มต้นคือ noapk

-ออบ | -noobb เปิด/ปิดการสำรองข้อมูลของไฟล์ส่วนขยาย apk (aka .obb) ที่ติดตั้งไว้ซึ่งเชื่อมโยงกับแต่ละแอปพลิเคชัน ค่าเริ่มต้นคือ noobb

-แบ่งปัน | -noshared เปิด/ปิดการสำรองข้อมูลของที่เก็บข้อมูลที่ใช้ร่วมกันของอุปกรณ์/เนื้อหาในการ์ด SD ค่าเริ่มต้นคือ noshared

-ทั้งหมด หมายถึงการสำรองข้อมูลแอปพลิเคชันที่ติดตั้งไว้ทั้งหมด

- ระบบ | -nosystem สลับว่า -all รวมแอปพลิเคชันระบบโดยอัตโนมัติหรือไม่ ค่าเริ่มต้นคือการรวมแอประบบ

แพ็คเกจ... คือรายการแอปพลิเคชันที่ต้องสำรองข้อมูล หากผ่านแฟล็ก -ทั้งหมด หรือ ที่ใช้ร่วมกัน รายการแพ็คเกจจะเป็นตัวเลือก แอปพลิเคชันที่ระบุอย่างชัดเจนในบรรทัดคำสั่งจะถูกรวมไว้แม้ว่า -nosystem จะทำให้ถูกละเว้น

adb restore file

กู้คืนเนื้อหาของอุปกรณ์จากคลังข้อมูลสำรองไฟล์

adb disable-verity

ปิดใช้งานการตรวจสอบความถูกต้องของ dm ในการสร้าง USERDEBUG

adb enable-verity

เปิดใช้งานการตรวจสอบความถูกต้อง dm อีกครั้งในการสร้าง USERDEBUG

adb keygen file

สร้างรหัสสาธารณะ/ส่วนตัวของ adb คีย์ส่วนตัวถูกเก็บไว้ใน ไฟล์ และคีย์สาธารณะจะถูกเก็บไว้ใน ไฟล์.pub ไฟล์ที่มีอยู่จะถูกเขียนทับ

adb help

แสดงข้อความช่วยเหลือ

adb version

แสดงหมายเลขเวอร์ชัน

การเขียนสคริปต์

adb wait-for-[-transport]-state

รอให้อุปกรณ์อยู่ในสถานะที่กำหนด: device, recovery, sideload หรือ bootloader ขนส่ง คือ: usb, local หรือ any (default=any)

adb start-server

ตรวจสอบให้แน่ใจว่ามีเซิร์ฟเวอร์ทำงานอยู่

adb kill-server

ฆ่าเซิร์ฟเวอร์หากกำลังทำงานอยู่

adb get-state

พิมพ์: ออฟไลน์ | บูตโหลดเดอร์ | อุปกรณ์

adb get-serialno

พิมพ์: หมายเลขซีเรียล

adb get-devpath

พิมพ์: device-path

adb remount

ติดตั้งพาร์ติชัน /system, /vendor ใหม่ (ถ้ามี) และ /oem (ถ้ามี) ในการอ่าน-เขียนอุปกรณ์

adb reboot [bootloader|recovery]

รีบูตอุปกรณ์ โดยเลือกที่จะเข้าสู่ bootloader หรือโปรแกรมกู้คืน

adb reboot sideload

รีบูตอุปกรณ์เข้าสู่โหมดไซด์โหลดในโปรแกรมกู้คืน (ต้องใช้ adb root)

adb reboot sideload-auto-reboot

รีบูตเข้าสู่โหมดไซด์โหลด จากนั้นรีบูตโดยอัตโนมัติหลังจากไซด์โหลดโดยไม่คำนึงถึงผลลัพธ์

adb sideload file

ไซด์โหลดแพ็คเกจที่กำหนด

adb root

รีสตาร์ท adbd daemon ด้วยสิทธิ์ root

adb unroot

รีสตาร์ท adbd daemon โดยไม่มีสิทธิ์รูท

adb usb

รีสตาร์ท adbd daemon ที่ฟังบน USB

adb tcpip port

รีสตาร์ท adbd daemon ที่รับฟัง TCP บนพอร์ตที่ระบุ

ระบบเครือข่าย

adb ppp tty [parameters]

เรียกใช้ PPP ผ่าน USB

พารามิเตอร์: เช่น defaultroute debug dump โลคัล notty usepeerdns

หมายเหตุ: คุณไม่ควรเริ่มการเชื่อมต่อ PPP โดยอัตโนมัติ tty หมายถึง tty สำหรับสตรีม PPP เช่น. dev:/dev/omap_csmi_tty1

การดีบักภายใน

adb reconnect

เตะการเชื่อมต่อปัจจุบันจากฝั่งโฮสต์และทำการเชื่อมต่ออีกครั้ง

adb reconnect device

เตะการเชื่อมต่อปัจจุบันจากฝั่งอุปกรณ์และทำการเชื่อมต่ออีกครั้ง

ตัวแปรสภาพแวดล้อม

ADB_TRACE

พิมพ์ข้อมูลการแก้ปัญหา รายการที่คั่นด้วยเครื่องหมายจุลภาคของค่าต่อไปนี้ 1 หรือ ทั้งหมด, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp

ANDROID_SERIAL

หมายเลขซีเรียลที่จะเชื่อมต่อ -s ให้ความสำคัญกับสิ่งนี้หากได้รับ

ANDROID_LOG_TAGS

เมื่อใช้กับตัวเลือก logcat จะมีการพิมพ์เฉพาะแท็กการแก้ไขข้อบกพร่องเหล่านี้เท่านั้น

ดูสิ่งนี้ด้วย

https://developer.android.com/tools/help/adb.html

ผู้เขียน

โครงการโอเพ่นซอร์ส Android