adb(1) راهنمای کاربری ADB adb(1)

adb - کلاینت خط فرمان برای کارساز پل اشکال‌زدایی اندروید (ADB)

1.0.41

adb [گزینه‌های_عمومی] دستور [گزینه‌های_دستور]

از طریق رابط سوکت هوشمند (smart socket) به کارساز ADB متصل می‌شود. امکان ارسال درخواست‌ها، دریافت پاسخ‌ها و مدیریت چرخه حیات کارساز adb را فراهم می‌کند.

وظایف از طریق دستورات انجام می‌شوند. برخی دستورات مستقیماً توسط کارساز انجام می‌شوند در حالی که برخی دیگر به adbd (دیمن ADB) در حال اجرا روی دستگاه هدایت (forward) می‌شوند.

-a     گوش دادن روی تمام رابط‌های شبکه، نه فقط localhost.

-d     استفاده از دستگاه USB (در صورت اتصال چند دستگاه، خطا برمی‌گرداند).

-e     استفاده از دستگاه TCP/IP (در صورت وجود چند دستگاه TCP/IP، خطا برمی‌گرداند).

-s SERIAL     استفاده از دستگاه با شماره سریال (SERIAL) مشخص‌شده (بازنویسی $ANDROID_SERIAL).

-t ID     استفاده از دستگاه با شناسه انتقال (ID) مشخص‌شده.

-H     نام هاست کارساز adb [پیش‌فرض=localhost].

-P PORT     درگاه (PORT) سوکت هوشمند کارساز adb [پیش‌فرض=5037].

-L SOCKET     گوش دادن روی سوکت مشخص‌شده برای کارساز adb [پیش‌فرض=tcp:localhost:5037].

--one-device SERIAL|USB     کارساز فقط به یک دستگاه USB متصل می‌شود که با شماره SERIAL یا آدرس دستگاه USB مشخص شده باشد (فقط با `start-server` یا `server nodaemon`).

--exit-on-write-error     خروج در صورت بسته شدن خروجی استاندارد (stdout).

devices [-l]     فهرست کردن دستگاه‌های متصل.

-l     استفاده از خروجی با جزئیات کامل (long output).

track-devices [-l][--proto-text][--proto-binary]     مشابه دستور `devices`، اما پس از اجرا خارج نمی‌شود و با تغییر فهرست دستگاه‌ها به‌روزرسانی‌ها را ارسال می‌کند.

-l     استفاده از خروجی با جزئیات به روش قدیمی (legacy).

-proto-text     استفاده از خروجی متنی پروتوباف (protobuf).

-proto-binary     استفاده از خروجی باینری پروتوباف (binary protobuf).

help     نمایش این پیام راهنما.

version     نمایش شماره نسخه.

connect HOST[:PORT]     اتصال به یک دستگاه از طریق TCP/IP [پیش‌فرض PORT=5555].

disconnect [HOST[:PORT]]     قطع اتصال از دستگاه TCP/IP مشخص‌شده [پیش‌فرض PORT=5555] یا همه دستگاه‌ها.

pair HOST[:PORT] [PAIRING_CODE]     جفت‌سازی با دستگاه برای برقراری ارتباط امن از طریق TCP/IP.

forward --list | [--no-rebind] LOCAL_REMOTE | --remove LOCAL | --remove-all

--list     فهرست کردن تمام اتصالات سوکت هدایت‌شده (forward socket).

[--no-rebind] LOCAL_REMOTE     هدایت اتصال سوکت با استفاده از یکی از موارد زیر:

    tcp:PORT (مقدار محلی می‌تواند برابر با «tcp:0» باشد تا هر درگاه آزادی انتخاب شود).

    localreserved:UNIX_DOMAIN_SOCKET_NAME.

    localfilesystem:UNIX_DOMAIN_SOCKET_NAME.

    jdwp:PROCESS PID (فقط راه دور).

    vsock:CID:PORT (فقط راه دور).

    acceptfd:FD (فقط شنود).

    dev:DEVICE_NAME.

    dev-raw:DEVICE_NAME (باز کردن دستگاه در حالت خام / raw mode).

--remove LOCAL     حذف یک اتصال سوکت هدایت‌شده خاص.

--remove-all     حذف تمام اتصالات سوکت هدایت‌شده.

reverse --list | [--no-rebind] REMOTE LOCAL | --remove REMOTE | --remove-all

--list     فهرست کردن تمام اتصالات سوکت معکوس (reverse socket) از دستگاه.

[--no-rebind] REMOTE LOCAL     اتصال سوکت معکوس با استفاده از یکی از موارد زیر:

    tcp:PORT (مقدار REMOTE می‌تواند «tcp:0» باشد تا هر درگاه آزادی انتخاب شود).

    localabstract:UNIX_DOMAIN_SOCKET_NAME.

    localreserved:UNIX_DOMAIN_SOCKET_NAME.

    localfilesystem:UNIX_DOMAIN_SOCKET_NAME.

--remove REMOTE     حذف یک اتصال سوکت معکوس خاص.

--remove-all     حذف تمام اتصالات سوکت معکوس از دستگاه.

mdns check | services     اجرای زیردستورهای mDNS.

check     بررسی در دسترس بودن قابلیت کشف mDNS.

services     فهرست کردن تمام سرویس‌های کشف‌شده.

track-services     استریم سرویس‌های کشف‌شده. از فلگ‌های «--proto-text» و «--proto-binary» پشتیبانی می‌کند.

list-known-hosts     نمایش دستگاه‌های جفت‌شده با ADB از طریق Wi-Fi. از فلگ‌های «--proto-text» و «--proto-binary» پشتیبانی می‌کند.

push [--sync] [-z ALGORITHM] [-Z] LOCAL... REMOTE     کپی کردن فایل‌ها/دایرکتوری‌های محلی به دستگاه.

--sync     انتقال فایل‌هایی که روی میزبان جدیدتر از دستگاه هستند.

-n     اجرای آزمایشی (dry run)؛ ارسال فایل‌ها به دستگاه بدون ذخیره در سیستم‌فایل.

-z     فعال‌سازی فشرده‌سازی با الگوریتم مشخص‌شده (any/none/brotli/lz4/zstd).

-Z     غیرفعال‌سازی فشرده‌سازی.

pull [-a] [-z ALGORITHM] [-Z] REMOTE... LOCAL     کپی کردن فایل‌ها/دایرکتوری‌ها از دستگاه.

-a     حفظ زمان‌بندی (timestamp) و حالت فایل (mode).

-z     فعال‌سازی فشرده‌سازی با الگوریتم مشخص‌شده (any/none/brotli/lz4/zstd).

-Z     غیرفعال‌سازی فشرده‌سازی.

sync [-l] [-z ALGORITHM] [-Z] [all|data|odm|oem|product|system|system_ext|vendor]     همگام‌سازی ساخت محلی از $ANDROID_PRODUCT_OUT با دستگاه [پیش‌فرض all].

-n     اجرای آزمایشی؛ ارسال فایل‌ها به دستگاه بدون ذخیره در سیستم‌فایل.

-l     فهرست کردن فایل‌هایی که کپی خواهند شد، بدون انجام عملیات کپی.

-z     فعال‌سازی فشرده‌سازی با الگوریتم مشخص‌شده (any/none/brotli/lz4/zstd).

-Z     غیرفعال‌سازی فشرده‌سازی.

shell [-e ESCAPE] [-n] [-Tt] [-x] [COMMAND...]     اجرای دستور پوسته از راه دور (در صورت عدم مشخص شدن دستور، پوسته تعاملی اجرا می‌شود).

-e     انتخاب نویسه گریز (escape character) یا «none»؛ پیش‌فرض `~'.

-n     عدم خواندن از stdin.

-T     غیرفعال‌سازی تخصیص pty.

-t     تخصیص pty در صورت استفاده از tty (استفاده از -tt تخصیص pty را اجباری می‌کند).

-x     غیرفعال‌سازی کدهای خروج از راه دور و جداسازی stdout/stderr.

emu COMMAND     اجرای دستور در کنسول شبیه‌ساز (COMMAND).

(همچنین دستور adb shell cmd package help را ببینید):

install [-lrtsdg] [--instant] PACKAGE     ارسال یک بسته منفرد به دستگاه و نصب آن.

install-multiple [-lrtsdpg] [--instant] PACKAGE...     ارسال چندین APK به دستگاه برای یک بسته واحد و نصب آن‌ها.

install-multi-package [-lrtsdpg] [--instant] PACKAGE...     ارسال یک یا چند بسته به دستگاه و نصب یکپارچه و اتمیک (atomic) آن‌ها.

-r     جایگزینی برنامه موجود.

-t     مجاز شمردن بسته‌های آزمایشی (test packages).

-d     اجازه بازگشت به نسخه پایین‌تر / دان‌گرید (تنها برای بسته‌های قابل اشکال‌زدایی).

-p     نصب جزئی برنامه (تنها برای install-multiple).

-g     اعطای تمام مجوزهای زمان اجرا (runtime permissions).

--abi ABI     بازنویسی ABI پیش‌فرض پلتفرم.

--instant     نصب برنامه به عنوان برنامه گذرا و لحظه‌ای (instant app).

--no-streaming     ارسال فایل APK به دستگاه و فراخوانی Package Manager به صورت مراحل جداگانه.

--streaming     استریم مستقیم و اجباری APK به درون Package Manager.

--fastdeploy     استفاده از استقرار سریع (fast deploy).

-no-fastdeploy     جلوگیری از استفاده از استقرار سریع.

-force-agent     اجبار به به‌روزرسانی عامل استقرار هنگام استفاده از استقرار سریع.

-date-check-agent     به‌روزرسانی عامل استقرار در صورتی که نسخه محلی جدیدتر باشد (هنگام استفاده از استقرار سریع).

--version-check-agent     به‌روزرسانی عامل استقرار در صورتی که نسخه محلی کد نسخه متفاوتی داشته باشد (هنگام استفاده از استقرار سریع).

--local-agent     مکان‌یابی فایل‌های عامل از ساخت سورس محلی (به جای مسیر SDK).

برای گزینه‌های بیشتر همچنین adb shell pm help را ببینید.

uninstall [-k] APPLICATION_ID     حذف این APPLICATION_ID از روی دستگاه.

-k     حفظ دایرکتوری‌های داده (data) و حافظه نهان (cache).

bugreport [PATH]     نوشتن گزارش اشکال (bugreport) در مسیر مشخص‌شده PATH [پیش‌فرض=bugreport.zip]؛ در صورتی که PATH یک دایرکتوری باشد، گزارش در آن دایرکتوری ذخیره می‌شود. دستگاه‌هایی که از گزارش باگ با فرمت zip پشتیبانی نمی‌کنند، خروجی را در stdout چاپ می‌کنند.

jdwp     فهرست کردن شناسه فرآیندهایی (pid) که میزبان انتقال JDWP هستند.

logcat     نمایش لاگ دستگاه (برای اطلاعات بیشتر logcat --help را ببینید).

server-status     نمایش پیکربندی کارساز (بک‌اند USB، بک‌اند mDNS، مسیر فایل لاگ، مسیر فایل اجرایی). برای جزئیات به adb_host.proto (AdbServerStatus) مراجعه کنید.

disable-verity     غیرفعال‌سازی بررسی dm-verity در ساخت‌های userdebug.

enable-verity     فعال‌سازی مجدد بررسی dm-verity در ساخت‌های userdebug.

keygen FILE     تولید جفت‌کلید عمومی/خصوصی adb؛ کلید خصوصی در FILE ذخیره می‌شود.

wait-for [-TRANSPORT] -STATE...     انتظار برای قرار گرفتن دستگاه در یک وضعیت مشخص.

    STATE: device، recovery، rescue، sideload، bootloader یا disconnect.

    TRANSPORT: usb، local یا any [پیش‌فرض=any].

get-state     چاپ وضعیت فعلی (offline | bootloader | device).

get-serialno     چاپ شماره سریال (SERIAL_NUMBER).

get-devpath     چاپ مسیر دستگاه (DEVICE_PATH).

remount [-R]     سوار کردن مجدد (remount) پارتیشن‌ها به صورت خواندن/نوشتن.

-R     راه‌اندازی مجدد (reboot) خودکار دستگاه.

reboot [bootloader|recovery|sideload|sideload-auto-reboot]     راه‌اندازی مجدد دستگاه؛ پیش‌فرض بوت سیستم‌عامل است، اما از bootloader و recovery نیز پشتیبانی می‌شود.

sideload     راه‌اندازی مجدد به محیط بازیابی (recovery) و شروع خودکار حالت sideload.

sideload-auto-reboot     مشابه sideload، اما پس از سایدلود، دستگاه را مجدداً راه‌اندازی می‌کند.

sideload OTAPACKAGE     سایدلود کردن بسته کامل OTA مشخص‌شده (OTAPACKAGE).

root     راه‌اندازی مجدد adbd با مجوزهای ریشه (root).

unroot     راه‌اندازی مجدد adbd بدون مجوزهای ریشه.

usb     راه‌اندازی مجدد adbd با گوش دادن روی رابط USB.

tcpip PORT     راه‌اندازی مجدد adbd با گوش دادن روی TCP در درگاه PORT.

start-server     اطمینان از در حال اجرا بودن کارساز.

kill-server     بستن و متوقف کردن کارساز در صورت در حال اجرا بودن.

reconnect     بستن اتصال از سمت میزبان (host) برای اجبار به برقراری مجدد ارتباط.

reconnect device     بستن اتصال از سمت دستگاه برای اجبار به برقراری مجدد ارتباط.

reconnect offline     بازنشانی دستگاه‌های آفلاین/غیرمجاز برای اجبار به برقراری مجدد ارتباط.

تنها هنگام اجرا با بک‌اند libusb معتبر است.

attach SERIAL     اتصال مجدد یک دستگاه USB جداشده که با شماره SERIAL آن مشخص می‌شود.

detach SERIAL     جدا کردن یک دستگاه USB مشخص‌شده با شماره SERIAL برای امکان استفاده توسط فرآیندهای دیگر.

host-features     فهرست کردن قابلیت‌های پشتیبانی‌شده توسط کارساز adb.

features     فهرست کردن قابلیت‌های پشتیبانی‌شده توسط هر دو مورد کارساز adb و دستگاه.

$ADB_TRACE     فهرستی از اطلاعات اشکال‌زدایی جداشده با کاما (یا فاصله) جهت ثبت در لاگ: all,adb,sockets,packets,rwx,usb,sync,sysdeps,transport,jdwp,services,auth,fdevent,shell,incremental,mdns,mdns-stack.

$ADB_VENDOR_KEYS     فهرستی از کلیدها جداشده با دونقطه (فایل‌ها یا دایرکتوری‌ها).

$ANDROID_SERIAL     شماره سریال دستگاه برای اتصال (گزینه -s را ببینید).

$ANDROID_LOG_TAGS     برچسب‌های مورد استفاده توسط logcat (راهنمای logcat --help را ببینید).

$ADB_LOCAL_TRANSPORT_MAX_PORT     حداکثر درگاه پویش شبیه‌ساز (پیش‌فرض 5585، برای ۱۶ شبیه‌ساز).

$ADB_MDNS_AUTO_CONNECT     فهرستی از سرویس‌های mdns جداشده با کاما برای اتصال خودکار (پیش‌فرض adb-tls-connect).

$ADB_MDNS_OPENSCREEN     بک‌اند پیش‌فرض mDNS-SD نرم‌افزار Bonjour (یا mdnsResponder) است. در سیستم‌هایی که Bonjour نصب نیست، adb می‌تواند بک‌اند توکار اختصاصی خود بنام openscreen را اجرا کند. در صورت تنظیم روی «1»، این متغیر محیطی بک‌اند mDNS را به openscreen اجبار می‌کند.

$ADB_LIBUSB     ابزار ADB پیاده‌سازی بک‌اند USB اختصاصی خود را دارد اما می‌تواند از libusb نیز استفاده کند. برای شناسایی اینکه کدام بک‌اند در حال استفاده است از adb devices -l (پیشوند usb: برای libusb حذف می‌شود) یا adb host-features (جستجوی libusb در فهرست خروجی) استفاده کنید. برای لغو حالت پیش‌فرض در سیستم‌عامل خود، ADB_LIBUSB را روی «1» (برای فعال‌سازی libusb) یا «0» (برای فعال‌سازی پیاده‌سازی بک‌اند ADB) تنظیم کنید.

سامانه پیگیری باگ‌ها را ببینید: اینجا

فایل OWNERS را در مخزن AOSP مربوط به ADB ببینید.

1.0.41 android-tools