AdbHelper

public final class AdbHelper
extends Object

شیء جاوا
com.android.tradefed.device.server.AdbHelper


کلاس کمکی برای مدیریت درخواست‌ها و اتصالات به adb.

AndroidDebugBridge یک API عمومی برای اتصال به adb است، در حالی که AdbHelper کارهای سطح پایین را انجام می‌دهد.

این در حال حاضر از ورودی/خروجی غیر مسدودکننده‌ی spin-wait استفاده می‌کند. یک Selector کارآمدتر خواهد بود، اما برای کاری که ما اینجا انجام می‌دهیم، بیش از حد به نظر می‌رسد.

خلاصه

کلاس‌های تو در تو

class AdbHelper.AdbResponse

پاسخ از بانک توسعه آسیایی.

ثابت‌ها

String HOST_TRANSPORT

فیلدها

public static final Charset DEFAULT_CHARSET

روش‌های عمومی

static void createForward (InetSocketAddress adbSockAddr, IDevice device, String localPortSpec, String remotePortSpec)

یک پورت فورواردینگ بین یک پورت محلی و یک پورت راه دور ایجاد می‌کند.

static AdbCommandRejectedException createHiddenException (String message, boolean errorDuringDeviceSelection)
static AdbCommandRejectedException createHiddenException (String message)
static byte[] createJdwpForwardRequest (int pid)

یک درخواست ارسال پورت به یک فرآیند jdwp ایجاد می‌کند.

static SocketChannel createPassThroughConnection (InetSocketAddress adbSockAddr, String deviceSerialNumber, int pid)

یک سوکت عبوری جدید، از میزبان به پورتی روی دستگاه، ایجاد و متصل می‌کند.

static void createReverse (InetSocketAddress adbSockAddr, IDevice device, String remotePortSpec, String localPortSpec)

یک پورت ایجاد می‌کند که بین یک پورت ریموت و یک پورت محلی، معکوس عمل می‌کند.

static void executeRemoteCommand (InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

یک دستور shell را روی دستگاه اجرا می‌کند و خروجی را بازیابی می‌کند.

static void executeRemoteCommand (InetSocketAddress adbSockAddr, AdbHelper.AdbService adbService, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits, InputStream is)

یک دستور از راه دور را روی دستگاه اجرا می‌کند و خروجی را بازیابی می‌کند.

static void executeRemoteCommand (InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

یک دستور shell را روی دستگاه اجرا می‌کند و خروجی را بازیابی می‌کند.

static byte[] formAdbRequest (String payloadString)

یک رشته ASCII ایجاد کنید که قبل از آن چهار رقم هگز قرار گرفته باشد.

static String getFeatures ( IDevice device)

مجموعه‌ای از ویژگی‌های پشتیبانی‌شده را از دستگاه پرس‌وجو می‌کند.

static RawImage getFrameBuffer (InetSocketAddress adbSockAddr, IDevice device, long timeout, TimeUnit unit)

بافر فریم را از دستگاهی که زمان انقضای آن مشخص شده است، بازیابی کن.

static String getHostFeatures ()

مجموعه‌ای از ویژگی‌های پشتیبانی‌شده را از میزبان ADB پرس‌وجو می‌کند.

static SocketChannel open (InetSocketAddress adbSockAddr, IDevice device, int devicePort)

یک سوکت عبوری جدید، از میزبان به پورتی روی دستگاه، ایجاد و متصل کنید.

static SocketChannel rawAdbService (InetSocketAddress socketAddress, IDevice device, String command, AdbHelper.AdbService service)

سرویس را روی یک دستگاه از راه دور فراخوانی کنید.

static SocketChannel rawExec (InetSocketAddress socketAddress, IDevice device, String executable, String[] parameters)

سرویس host:exec را روی یک دستگاه راه دور فراخوانی کنید.

static AdbHelper.AdbResponse readAdbResponse (SocketChannel chan, boolean readDiagString)

پاسخ ADB را پس از یک دستور می‌خواند.

static void reboot (String into, InetSocketAddress adbSockAddr, IDevice device)

دستگاه را دوباره راه اندازی کنید.

static void removeForward (InetSocketAddress adbSockAddr, IDevice device, String localPortSpec)

انتقال پورت بین یک پورت محلی و یک پورت راه دور را حذف کنید.

static void removeReverse (InetSocketAddress adbSockAddr, IDevice device, String remotePortSpec)

حذف پورتی که بین یک پورت ریموت و یک پورت محلی جابجا می‌شود.

static void root (InetSocketAddress adbSockAddr, IDevice device)

از adb demon بخواهید که در دستگاه به عنوان root عمل کند.

static void setDevice (SocketChannel adbChan, IDevice device)

با دادن یک IDevice شماره سریال را بگیرید و به adb بگویید که با آن دستگاه ارتباط برقرار کند.

static void setDevice (SocketChannel adbChan, String deviceSerialNumber)

به adb می‌گوید که با یک دستگاه خاص صحبت کند.

static void write (SocketChannel chan, byte[] data, int length, int timeout)

تا زمانی که تمام داده‌های موجود در "data" نوشته شوند، به طول اختیاری برسند، مهلت زمانی منقضی شود یا اتصال قطع شود، بنویسید.

static void write (SocketChannel chan, byte[] data)

تا زمانی که تمام داده‌ها در "data" نوشته شوند یا اتصال قطع شود یا زمان انقضا فرا برسد، بنویسید.

ثابت‌ها

میزبان_حمل_ونقل

public static final String HOST_TRANSPORT

مقدار ثابت: "میزبان:انتقال:"

فیلدها

مجموعه کاراکتر پیش‌فرض

public static final Charset DEFAULT_CHARSET

روش‌های عمومی

ایجادبه‌جلو

public static void createForward (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String localPortSpec, 
                String remotePortSpec)

یک پورت فورواردینگ بین یک پورت محلی و یک پورت راه دور ایجاد می‌کند.

پارامترها
adbSockAddr InetSocketAddress : آدرس سوکت برای اتصال به adb

device IDevice : دستگاهی که قرار است پورت فورواردینگ روی آن انجام شود

localPortSpec String : مشخصات پورت محلی برای ارسال، باید با فرمت tcp باشد:

remotePortSpec String : مشخصات پورت راه دور برای ارسال به آن، یکی از: tcp: چکیده محلی: محلی رزرو شده: سیستم فایل محلی: توسعه: جی دی پی: (فقط از راه دور)

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

استثنای پنهان (createHiddenException)

public static AdbCommandRejectedException createHiddenException (String message, 
                boolean errorDuringDeviceSelection)

پارامترها
message String

errorDuringDeviceSelection boolean

بازگشت‌ها
AdbCommandRejectedException

استثنای پنهان (createHiddenException)

public static AdbCommandRejectedException createHiddenException (String message)

پارامترها
message String

بازگشت‌ها
AdbCommandRejectedException

درخواست ارسالی

public static byte[] createJdwpForwardRequest (int pid)

یک درخواست ارسال پورت به یک فرآیند jdwp ایجاد می‌کند. این یک آرایه حاوی "####jwdp:{pid}" را برمی‌گرداند.

پارامترها
pid int : شناسه‌ی فرآیند jdwp روی دستگاه.

بازگشت‌ها
byte[]

ایجاد اتصال عبوری

public static SocketChannel createPassThroughConnection (InetSocketAddress adbSockAddr, 
                String deviceSerialNumber, 
                int pid)

یک سوکت عبوری جدید، از میزبان به پورتی روی دستگاه، ایجاد و متصل می‌کند.

پارامترها
deviceSerialNumber String : شماره سریال دستگاهی که باید به آن متصل شوید. می‌تواند تهی یا خالی باشد که در این صورت اتصال به اولین دستگاه موجود برقرار خواهد شد.

pid int : شناسه (pid) فرآیندی که قرار است به آن متصل شوید.

بازگشت‌ها
SocketChannel

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

ایجاد معکوس

public static void createReverse (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String remotePortSpec, 
                String localPortSpec)

یک پورت ایجاد می‌کند که بین یک پورت ریموت و یک پورت محلی، معکوس عمل می‌کند.

پارامترها
adbSockAddr InetSocketAddress : آدرس سوکت برای اتصال به adb

device IDevice : دستگاهی که قرار است پورت را روی آن معکوس کنیم

remotePortSpec String : مشخصات پورت راه دور برای معکوس کردن، یکی از: tcp: چکیده محلی: محلی رزرو شده: سیستم فایل محلی: توسعه: جی دی پی: (فقط از راه دور)

localPortSpec String : مشخصات پورت محلی، باید با فرمت tcp باشد:

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

اجرای دستور از راه دور

public static void executeRemoteCommand (InetSocketAddress adbSockAddr, 
                String command, 
                IDevice device, 
                IShellOutputReceiver rcvr, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

یک دستور shell را روی دستگاه اجرا می‌کند و خروجی را بازیابی می‌کند. خروجی به محض رسیدن به rcvr تحویل داده می‌شود.

پارامترها
adbSockAddr InetSocketAddress : ERROR(/InetSocketAddress) به adb.

command String : دستور shell برای اجرا

device IDevice : IDevice که دستور روی آن اجرا می‌شود.

rcvr IShellOutputReceiver : IShellOutputReceiver که خروجی دستور shell را دریافت می‌کند.

maxTimeToOutputResponse long : حداکثر زمان بین خروجی دستور. اگر زمان بیشتری بین خروجی دستور بگذرد، متد ShellCommandUnresponsiveException را صادر می‌کند. مقدار 0 به این معنی است که متد برای همیشه منتظر خروجی دستور می‌ماند و هرگز خطایی صادر نمی‌کند.

maxTimeUnits TimeUnit : واحد برای مقادیر غیر صفر maxTimeToOutputResponse .

پرتاب‌ها
TimeoutException در صورت بروز وقفه در اتصال هنگام ارسال دستور.
AdbCommandRejectedException اگر adb دستور را رد کند
ShellCommandUnresponsiveException در صورتی که دستور shell برای مدت زمانی طولانی‌تر از maxTimeToOutputResponse هیچ خروجی ارسال نکند.
در صورت بروز خطای ورودی/خروجی در اتصال.

همچنین ببینید:

اجرای دستور از راه دور

public static void executeRemoteCommand (InetSocketAddress adbSockAddr, 
                AdbHelper.AdbService adbService, 
                String command, 
                IDevice device, 
                IShellOutputReceiver rcvr, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits, 
                InputStream is)

یک دستور از راه دور را روی دستگاه اجرا می‌کند و خروجی را بازیابی می‌کند. خروجی به محض رسیدن به rcvr تحویل داده می‌شود. دستور توسط سرویس راه دور شناسایی شده توسط پارامتر adbService اجرا می‌شود.

پارامترها
adbSockAddr InetSocketAddress : ERROR(/InetSocketAddress) به adb.

adbService AdbHelper.AdbService : سرویس AdbHelper.AdbService که برای اجرای دستور استفاده می‌شود.

command String : دستور shell برای اجرا

device IDevice : IDevice که دستور روی آن اجرا می‌شود.

rcvr IShellOutputReceiver : IShellOutputReceiver که خروجی دستور shell را دریافت می‌کند.

maxTimeout long : حداکثر زمان انتظار برای اجرای کامل دستور. مقدار 0 به معنی عدم وجود زمان انتظار است.

maxTimeToOutputResponse long : حداکثر زمان بین خروجی دستور. اگر زمان بیشتری بین خروجی دستور بگذرد، متد ShellCommandUnresponsiveException را صادر می‌کند. مقدار 0 به این معنی است که متد برای همیشه منتظر خروجی دستور می‌ماند و هرگز خطایی صادر نمی‌کند.

maxTimeUnits TimeUnit : واحد برای مقادیر غیر صفر maxTimeout و maxTimeToOutputResponse .

is InputStream : یک ERROR(/InputStream) اختیاری که پس از فراخوانی دستور و قبل از بازیابی پاسخ، به صورت جریانی (streamed) نمایش داده می‌شود.

پرتاب‌ها
TimeoutException در صورت بروز وقفه در اتصال هنگام ارسال دستور.
AdbCommandRejectedException اگر adb دستور را رد کند
ShellCommandUnresponsiveException در صورتی که دستور shell برای مدت زمانی طولانی‌تر از maxTimeToOutputResponse هیچ خروجی ارسال نکند.
در صورت بروز خطای ورودی/خروجی در اتصال.

همچنین ببینید:

اجرای دستور از راه دور

public static void executeRemoteCommand (InetSocketAddress adbSockAddr, 
                String command, 
                IDevice device, 
                IShellOutputReceiver rcvr, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

یک دستور shell را روی دستگاه اجرا می‌کند و خروجی را بازیابی می‌کند. خروجی به محض رسیدن به rcvr تحویل داده می‌شود.

پارامترها
adbSockAddr InetSocketAddress : ERROR(/InetSocketAddress) به adb.

command String : دستور shell برای اجرا

device IDevice : IDevice که دستور روی آن اجرا می‌شود.

rcvr IShellOutputReceiver : IShellOutputReceiver که خروجی دستور shell را دریافت می‌کند.

maxTimeout long : حداکثر زمان برای بازگشت دستور. مقدار 0 به این معنی است که حداکثر زمان انقضا اعمال نخواهد شد.

maxTimeToOutputResponse long : حداکثر زمان بین خروجی دستور. اگر زمان بیشتری بین خروجی دستور بگذرد، متد ShellCommandUnresponsiveException را صادر می‌کند. مقدار 0 به این معنی است که متد برای همیشه منتظر خروجی دستور می‌ماند و هرگز خطایی صادر نمی‌کند.

maxTimeUnits TimeUnit : واحد برای مقادیر غیر صفر maxTimeout و maxTimeToOutputResponse .

پرتاب‌ها
TimeoutException در صورت بروز وقفه در اتصال هنگام ارسال دستور.
AdbCommandRejectedException اگر adb دستور را رد کند
ShellCommandUnresponsiveException در صورتی که دستور shell برای مدت زمانی طولانی‌تر از maxTimeToOutputResponse هیچ خروجی ارسال نکند.
در صورت بروز خطای ورودی/خروجی در اتصال.

همچنین ببینید:

فرمAdbRequest

public static byte[] formAdbRequest (String payloadString)

یک رشته ASCII ایجاد کنید که قبل از آن چهار رقم هگز قرار گرفته باشد. "####" آغازین، طول بقیه رشته است که به صورت هگز ASCII کدگذاری شده است (کوچک یا بزرگ بودن حروف مهم نیست).

پارامترها
payloadString String

بازگشت‌ها
byte[]

دریافت ویژگی‌ها

public static String getFeatures (IDevice device)

مجموعه‌ای از ویژگی‌های پشتیبانی‌شده را از دستگاه پرس‌وجو می‌کند.

پارامترها
device IDevice : دستگاهی که قرار است پورت فورواردینگ روی آن انجام شود

بازگشت‌ها
String

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

دریافت فریم بافر

public static RawImage getFrameBuffer (InetSocketAddress adbSockAddr, 
                IDevice device, 
                long timeout, 
                TimeUnit unit)

بافر فریم را از دستگاهی که زمان انقضای داده شده را دارد، بازیابی می‌کند. زمان انقضای ۰ نشان می‌دهد که تا ابد منتظر خواهد ماند.

پارامترها
adbSockAddr InetSocketAddress

device IDevice

timeout long

unit TimeUnit

بازگشت‌ها
RawImage

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

ویژگی‌های getHost

public static String getHostFeatures ()

مجموعه‌ای از ویژگی‌های پشتیبانی‌شده را از میزبان ADB پرس‌وجو می‌کند.

بازگشت‌ها
String

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

باز

public static SocketChannel open (InetSocketAddress adbSockAddr, 
                IDevice device, 
                int devicePort)

یک سوکت عبوری جدید، از میزبان به پورتی روی دستگاه، ایجاد و متصل کنید.

پارامترها
device IDevice : دستگاهی که باید به آن متصل شوید. می‌تواند null باشد که در این صورت اتصال به اولین دستگاه موجود خواهد بود.

devicePort int : پورتی که باز می‌کنیم

بازگشت‌ها
SocketChannel

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
در صورت بروز خطای ورودی/خروجی در اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند

سرویس rawAdb

public static SocketChannel rawAdbService (InetSocketAddress socketAddress, 
                IDevice device, 
                String command, 
                AdbHelper.AdbService service)

سرویس را روی یک دستگاه از راه دور فراخوانی کنید. یک کانال سوکت که به فرآیند اجرا متصل است را برگردانید.

ddlmib مالکیت SocketChannel بازگردانده شده را واگذار می‌کند و باید پس از استفاده صریحاً بسته شود.

پارامترها
device IDevice : دستگاهی که باید به آن متصل شوید. می‌تواند null باشد که در این صورت اتصال به اولین دستگاه موجود خواهد بود.

command String : دستوری که باید اجرا شود

service AdbHelper.AdbService : سرویس AdbHelper.AdbService که برای اجرای دستور استفاده می‌شود.

بازگشت‌ها
SocketChannel

پرتاب‌ها
استثنای IO
com.android.ddmlib.TimeoutException
com.android.ddmlib.AdbCommandRejectedException
AdbCommandRejectedException
TimeoutException

rawExec

public static SocketChannel rawExec (InetSocketAddress socketAddress, 
                IDevice device, 
                String executable, 
                String[] parameters)

سرویس host:exec را روی یک دستگاه از راه دور فراخوانی کنید. یک کانال سوکت که به فرآیند اجرا متصل است را برگردانید. توجه داشته باشید که سرویس exec تفاوتی بین stdout و stderr قائل نمی‌شود، بنابراین هر آنچه از سوکت خوانده می‌شود می‌تواند از هر دو خروجی آمده و در هم آمیخته شود.

ddlmib مالکیت SocketChannel بازگردانده شده را واگذار می‌کند و باید پس از استفاده صریحاً بسته شود.

پارامترها
device IDevice : دستگاهی که باید به آن متصل شوید. می‌تواند null باشد که در این صورت اتصال به اولین دستگاه موجود خواهد بود.

executable String : مسیر مطلق فایل اجرایی برای اجرا

parameters String : پارامترهایی که هنگام اجرای فایل اجرایی دریافت می‌شوند

بازگشت‌ها
SocketChannel

پرتاب‌ها
استثنای IO
com.android.ddmlib.TimeoutException
com.android.ddmlib.AdbCommandRejectedException
AdbCommandRejectedException
TimeoutException

readAdbResponse

public static AdbHelper.AdbResponse readAdbResponse (SocketChannel chan, 
                boolean readDiagString)

پاسخ ADB را پس از یک دستور می‌خواند.

پارامترها
chan SocketChannel : کانال سوکتی که به adb متصل است.

readDiagString boolean : اگر درست باشد، انتظار داریم یک پاسخ OKY به همراه یک رشته تشخیصی به دنبال آن بیاید. در غیر این صورت، فقط انتظار داریم رشته تشخیصی به دنبال یک رشته FAIL بیاید.

بازگشت‌ها
AdbHelper.AdbResponse

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
در صورت بروز خطای ورودی/خروجی در اتصال.

راه اندازی مجدد

public static void reboot (String into, 
                InetSocketAddress adbSockAddr, 
                IDevice device)

دستگاه را دوباره راه اندازی کنید.

پارامترها
into String : چیزی که باید ریبوت شود (ریکاوری، بوت‌لودر). یا null برای ریبوت کردن.

adbSockAddr InetSocketAddress

device IDevice

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

حذف به جلو

public static void removeForward (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String localPortSpec)

انتقال پورت بین یک پورت محلی و یک پورت راه دور را حذف کنید.

پارامترها
adbSockAddr InetSocketAddress : آدرس سوکت برای اتصال به adb

device IDevice : دستگاهی که می‌خواهید پورت فورواردینگ را روی آن حذف کنید

localPortSpec String : مشخصات پورت محلی که ارسال شده است، باید با فرمت tcp باشد:

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

حذف معکوس

public static void removeReverse (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String remotePortSpec)

حذف پورتی که بین یک پورت ریموت و یک پورت محلی جابجا می‌شود.

پارامترها
adbSockAddr InetSocketAddress : آدرس سوکت برای اتصال به adb

device IDevice : دستگاهی که پورت روی آن به صورت معکوس حذف می‌شود

remotePortSpec String : مشخصات پورت راه دور که به آن معکوس شده است، یکی از: tcp: چکیده محلی: محلی رزرو شده: سیستم فایل محلی: توسعه: جی دی پی: (فقط از راه دور)

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

ریشه

public static void root (InetSocketAddress adbSockAddr, 
                IDevice device)

از adb demon بخواهید که در دستگاه به عنوان root عمل کند. این کار ممکن است بی‌سروصدا انجام نشود و فقط در نسخه‌های توسعه‌دهندگان می‌تواند موفق باشد. برای اطلاعات بیشتر به «adb root» مراجعه کنید. اگر می‌خواهید بدانید که آیا موفق شده‌اید یا خیر، می‌توانید نتیجه executeRemoteCommand را روی 'echo \$USER_ID' بررسی کنید، اگر 0 باشد، adbd به عنوان root در حال اجرا است.

پارامترها
adbSockAddr InetSocketAddress

device IDevice

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

دستگاه تنظیم‌شده

public static void setDevice (SocketChannel adbChan, 
                IDevice device)

با دادن یک IDevice شماره سریال را بگیرید و به adb بگویید که با آن دستگاه ارتباط برقرار کند.

پارامترها
adbChan SocketChannel : اتصال سوکت به adb.

device IDevice : دستگاهی که قرار است با آن صحبت کنید.

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

دستگاه تنظیم‌شده

public static void setDevice (SocketChannel adbChan, 
                String deviceSerialNumber)

به adb می‌گوید که با یک دستگاه خاص صحبت کند.

پارامترها
adbChan SocketChannel : اتصال سوکت به adb

deviceSerialNumber String : سریال دستگاهی که قرار است با آن ارتباط برقرار شود، اگر null باشد، دستگاه پیش‌فرض انتخاب شده، دستگاهی است که توسط adb انتخاب شده است.

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
AdbCommandRejectedException اگر adb دستور را رد کند
در صورت بروز خطای ورودی/خروجی در اتصال.

بنویس

public static void write (SocketChannel chan, 
                byte[] data, 
                int length, 
                int timeout)

تا زمانی که تمام داده‌های موجود در "data" نوشته شوند، به طول اختیاری برسند، زمان انقضا تمام شود یا اتصال قطع شود، بنویسید. اگر تمام داده‌ها نوشته شده باشند، "true" را برمی‌گرداند.

پارامترها
chan SocketChannel : سوکت باز شده برای نوشتن.

data byte : بافری که قرار است ارسال شود.

length int : طول مورد نظر برای نوشتن یا -1 برای ارسال کل بافر.

timeout int : مقدار timeout. مقدار timeout برابر با صفر به معنی "تا ابد منتظر ماندن" است.

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
در صورت بروز خطای ورودی/خروجی در اتصال.

بنویس

public static void write (SocketChannel chan, 
                byte[] data)

تا زمانی که تمام داده‌ها در "data" نوشته شوند یا اتصال قطع شود یا زمان انقضا فرا برسد، بنویسید.

این از مقدار پیش‌فرض زمان انقضا استفاده می‌کند.

پارامترها
chan SocketChannel : سوکت باز شده برای نوشتن.

data byte : بافری که قرار است ارسال شود.

پرتاب‌ها
TimeoutException در صورت اتمام زمان اتصال.
در صورت بروز خطای ورودی/خروجی در اتصال.