AdbHelper

public final class AdbHelper
extends Object

java.lang.Object
   ↳ com.android.tradefed.device.server.AdbHelper


فئة مساعدة للتعامل مع الطلبات وعمليات الربط ببرنامج adb.

AndroidDebugBridge هي واجهة برمجة التطبيقات العامة للاتصال ببرنامج adb، بينما تتولّى AdbHelper المهام المنخفضة المستوى.

يستخدم هذا الإعداد حاليًا عمليات إدخال وإخراج غير حظرية مع انتظار متكرر. ستكون أداة الاختيار أكثر فعالية، ولكن يبدو أنّها مبالغ فيها بالنسبة إلى ما نفعله هنا.

ملخّص

الفئات المتداخلة

class AdbHelper.AdbResponse

ردّ من ADB 

الثوابت

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 الخفي أن يصبح الجذر على الجهاز.

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)

الكتابة إلى أن يتمّ كتابة جميع البيانات في "البيانات"، أو يتمّ الوصول إلى الطول الاختياري، أو تنتهي مهلة الانتظار، أو يتعذّر الاتصال.

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

الكتابة إلى أن تتم كتابة جميع البيانات في "البيانات" أو يتعذّر الاتصال أو تنتهي المهلة

الثوابت

HOST_TRANSPORT

public static final String HOST_TRANSPORT

Constant Value: "host:transport:"

الحقول

DEFAULT_CHARSET

public static final Charset DEFAULT_CHARSET

الطُرق العامة

createForward

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

تُنشئ هذه السمة عملية إعادة توجيه منفذ بين منفذ محلي وآخر بعيد.

المعلمات
adbSockAddr InetSocketAddress: عنوان المقبس المطلوب الاتصال به في adb

device IDevice: الجهاز الذي سيتم عليه إعادة توجيه المنفذ

localPortSpec String: تحديد المنفذ المحلي الذي سيتم إعادة توجيهه، ويجب أن يكون بالتنسيق tcp:

remotePortSpec String: تحديد المنفذ البعيد الذي سيتم إعادة توجيهه إليه، ويجب أن يكون إحدى القيم التالية: tcp: localabstract: localreserved: localfilesystem: dev: jdwp: (عن بُعد فقط)

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

createHiddenException

public static AdbCommandRejectedException createHiddenException (String message, 
                boolean errorDuringDeviceSelection)

المعلمات
message String

errorDuringDeviceSelection boolean

المرتجعات
AdbCommandRejectedException

createHiddenException

public static AdbCommandRejectedException createHiddenException (String message)

المعلمات
message String

المرتجعات
AdbCommandRejectedException

createJdwpForwardRequest

public static byte[] createJdwpForwardRequest (int pid)

ينشئ طلب إعادة توجيه المنفذ إلى عملية jdwp. يعرض هذا الأمر صفيفًا يحتوي على "####jwdp:{pid}".

المعلمات
pid int: معرّف العملية (PID) الخاص بعملية jdwp على الجهاز

المرتجعات
byte[]

createPassThroughConnection

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

تنشئ هذه السمة وتصل مقبسًا جديدًا للاتصال المباشر من المضيف إلى منفذ على الجهاز.

المعلمات
deviceSerialNumber String: الرقم التسلسلي للجهاز الذي سيتم الاتصال به يمكن أن تكون القيمة فارغة أو null، وفي هذه الحالة سيتم الاتصال بأول جهاز متاح.

pid int: معرّف العملية المطلوب الاتصال بها.

المرتجعات
SocketChannel

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

createReverse

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

تُنشئ هذه السمة عملية عكس للمنفذ بين منفذ بعيد ومنفذ محلي.

المعلمات
adbSockAddr InetSocketAddress: عنوان المقبس المطلوب الاتصال به في adb

device IDevice: الجهاز الذي سيتم عليه عكس المنفذ

remotePortSpec String: تحديد المنفذ البعيد الذي سيتم عكسه، ويجب أن يكون أحد الخيارات التالية: tcp: localabstract: localreserved: localfilesystem: dev: jdwp: (عن بُعد فقط)

localPortSpec String: تحديد المنفذ المحلي، ويجب أن يكون بالتنسيق tcp:

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

executeRemoteCommand

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 إذا رفضت أداة تصحيح أخطاء Android الأمر
ShellCommandUnresponsiveException في حال عدم إرسال أمر shell أي مخرجات لفترة أطول من maxTimeToOutputResponse.
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

يُرجى الاطّلاع أيضًا على:

executeRemoteCommand

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) اختياري سيتم بثه بعد استدعاء الأمر وقبل استرداد الرد.

الرميات
TimeoutException في حال انتهاء المهلة أثناء الاتصال عند إرسال الأمر
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
ShellCommandUnresponsiveException في حال عدم إرسال أمر shell أي مخرجات لفترة أطول من maxTimeToOutputResponse.
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

يُرجى الاطّلاع أيضًا على:

executeRemoteCommand

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 إذا رفضت أداة تصحيح أخطاء Android الأمر
ShellCommandUnresponsiveException في حال عدم إرسال أمر shell أي مخرجات لفترة أطول من maxTimeToOutputResponse.
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

يُرجى الاطّلاع أيضًا على:

formAdbRequest

public static byte[] formAdbRequest (String payloadString)

أنشئ سلسلة ASCII مسبوقة بأربعة أرقام ست عشرية. يمثّل الجزء الأول "####" طول بقية السلسلة، وهو مرمّز بتنسيق ASCII السداسي العشري (لا يهمّ ما إذا كانت الأحرف كبيرة أو صغيرة).

المعلمات
payloadString String

المرتجعات
byte[]

getFeatures

public static String getFeatures (IDevice device)

يطلب هذا الإجراء مجموعة من الميزات المتوافقة من الجهاز.

المعلمات
device IDevice: الجهاز الذي سيتم عليه إعادة توجيه المنفذ

المرتجعات
String

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

getFrameBuffer

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

استرداد مخزن مؤقت للإطارات من الجهاز مع المهلة المحدّدة يشير المهلة الزمنية 0 إلى أنّ العملية ستنتظر إلى الأبد.

المعلمات
adbSockAddr InetSocketAddress

device IDevice

timeout long

unit TimeUnit

المرتجعات
RawImage

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

getHostFeatures

public static String getHostFeatures ()

يطلب هذا الأمر مجموعة من الميزات المتوافقة من مضيف ADB.

المرتجعات
String

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

فتح

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

أنشئ مقبسًا جديدًا للاتصال المباشر وربطه، من المضيف بمنفذ على الجهاز.

المعلمات
device IDevice: الجهاز الذي تريد الاتصال به يمكن أن تكون القيمة فارغة، وفي هذه الحالة سيتم الاتصال بأول جهاز متاح.

devicePort int: المنفذ الذي سيتم فتحه

المرتجعات
SocketChannel

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر

rawAdbService

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

استدعاء الخدمة على جهاز بعيد تعرض هذه السمة قناة مقبس مرتبطة بالعملية الجارية.

يتنازل ddlmib عن ملكية SocketChannel الذي تم إرجاعه ويجب إغلاقه بشكل صريح بعد الاستخدام.

المعلمات
device IDevice: الجهاز الذي تريد الاتصال به يمكن أن تكون القيمة فارغة، وفي هذه الحالة سيتم الاتصال بأول جهاز متاح.

command String: الأمر المطلوب تنفيذه

service AdbHelper.AdbService: AdbHelper.AdbService المطلوب استخدامه لتنفيذ الأمر

المرتجعات
SocketChannel

الرميات
IOException
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: الجهاز الذي تريد الاتصال به يمكن أن تكون القيمة فارغة، وفي هذه الحالة سيتم الاتصال بأول جهاز متاح.

executable String: المسار المطلق للملف التنفيذي الذي سيتم تشغيله

parameters String: المَعلمات التي سيتم الحصول عليها عند تنفيذ الملف القابل للتنفيذ

المرتجعات
SocketChannel

الرميات
IOException
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: إذا كانت القيمة صحيحة، نتوقّع تلقّي رد OKAY متبوعًا بسلسلة بيانات تشخيصية. بخلاف ذلك، نتوقّع أن تتضمّن سلسلة بيانات التشخيص كلمة FAIL فقط.

المرتجعات
AdbHelper.AdbResponse

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

إعادة تشغيل

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

أعد تشغيل الجهاز.

المعلمات
into String: لتحديد ما سيتم إعادة التشغيل إليه (وضع الاسترداد أو برنامج الإقلاع) أو قيمة فارغة لإعادة التشغيل فقط.

adbSockAddr InetSocketAddress

device IDevice

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

removeForward

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

إزالة عملية إعادة توجيه المنفذ بين منفذ محلي ومنفذ بعيد

المعلمات
adbSockAddr InetSocketAddress: عنوان المقبس المطلوب الاتصال به في adb

device IDevice: الجهاز الذي ستتم إزالة إعادة توجيه المنفذ عليه

localPortSpec String: مواصفات المنفذ المحلي الذي تمّت إعادة توجيهه، ويجب أن يكون بالتنسيق tcp:

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

removeReverse

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

إزالة عملية عكس المنفذ بين منفذ بعيد ومنفذ محلي

المعلمات
adbSockAddr InetSocketAddress: عنوان المقبس المطلوب الاتصال به في adb

device IDevice: الجهاز الذي ستتم إزالة عكس المنفذ عليه

remotePortSpec String: تحديد المنفذ البعيد الذي تم عكسه إلى أحد الخيارات التالية: tcp: localabstract: localreserved: localfilesystem: dev: jdwp: (عن بُعد فقط)

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

الجذر

public static void root (InetSocketAddress adbSockAddr, 
                IDevice device)

اطلب من برنامج adb الخفي أن يصبح الجذر على الجهاز. قد يتعذّر تنفيذ هذا الإجراء بدون إشعار، ولا يمكن تنفيذه بنجاح إلا في الإصدارات المخصّصة للمطوّرين. راجِع "adb root" للحصول على مزيد من المعلومات. إذا أردت معرفة ما إذا نجحت العملية، يمكنك التحقّق من نتيجة executeRemoteCommand بشأن "echo \$USER_ID"، فإذا كانت النتيجة 0، يعني ذلك أنّ adbd يعمل كجذر.

المعلمات
adbSockAddr InetSocketAddress

device IDevice

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

setDevice

public static void setDevice (SocketChannel adbChan, 
                IDevice device)

عند توفّر IDevice، احصل على الرقم التسلسلي وأخبِر أداة adb بالتواصل مع هذا الجهاز.

المعلمات
adbChan SocketChannel: اتصال المقبس بـ adb

device IDevice: الجهاز الذي تريد التحدث إليه

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

setDevice

public static void setDevice (SocketChannel adbChan, 
                String deviceSerialNumber)

يطلب من adb التواصل مع جهاز معيّن

المعلمات
adbChan SocketChannel: اتصال المقبس بـ adb

deviceSerialNumber String: الرقم التسلسلي للجهاز الذي تريد التحدث معه، إذا كانت القيمة فارغة، يكون الجهاز التلقائي المحدّد هو الجهاز الذي اختاره adb.

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
AdbCommandRejectedException إذا رفضت أداة تصحيح أخطاء Android الأمر
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

في الكتابة

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

الكتابة إلى أن يتمّ كتابة جميع البيانات في "البيانات"، أو يتمّ الوصول إلى الطول الاختياري، أو تنتهي مهلة الانتظار، أو يتعذّر الاتصال. تعرض هذه الدالة القيمة "صحيح" إذا تمت كتابة جميع البيانات.

المعلمات
chan SocketChannel: المقبس المفتوح للكتابة إليه

data byte: المخزن المؤقت الذي سيتم إرساله

length int: الطول المطلوب كتابته أو -1 لإرسال المخزن المؤقت بالكامل

timeout int: قيمة المهلة يعني انتهاء المهلة عند الصفر "الانتظار إلى الأبد".

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال

في الكتابة

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

الكتابة إلى أن تتم كتابة جميع البيانات في "البيانات" أو يتعذّر الاتصال أو تنتهي المهلة

يستخدم هذا الخيار قيمة المهلة التلقائية.

المعلمات
chan SocketChannel: المقبس المفتوح للكتابة إليه

data byte: المخزن المؤقت الذي سيتم إرساله

الرميات
TimeoutException في حال انتهاء مهلة الاتصال
في حال حدوث خطأ في الإدخال/الإخراج عند الاتصال