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, 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 void executeRemoteCommand(InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, 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, String deviceSerialNumber)

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

static void setDevice(SocketChannel adbChan, IDevice device)

عند توفّر IDevice، احصل على الرقم التسلسلي وأخبِر 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: (عن بُعد فقط)

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

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: معرّف عملية jdwp على الجهاز

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

createPassThroughConnection

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

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

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

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

المرتجعات
SocketChannel

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

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:

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

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

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

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

executeRemoteCommand

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

ينفّذ أمر shell على الجهاز ويستردّ الناتج. يتم تسليم الناتج إلى rcvr فور صدوره.

المعلَمات
adbSockAddr استبدِل InetSocketAddress بـ InetSocketAddress في adb.

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

device IDevice: IDevice الذي سيتم تنفيذ الأمر عليه

rcvr IShellOutputReceiver: IShellOutputReceiver الذي سيتلقّى نتيجة أمر shell

maxTimeout long: الحد الأقصى للوقت الذي يستغرقه تنفيذ الأمر. تعني القيمة 0 أنّه لن يتم تطبيق أي حد أقصى للمهلة.

maxTimeToOutputResponse long: الحد الأقصى للوقت بين مخرجات الأوامر إذا مرّ وقت أطول بين إخراج الأمر، سيؤدي ذلك إلى ظهور الخطأ ShellCommandUnresponsiveException. تعني القيمة 0 أنّ الطريقة ستنتظر إلى الأبد للحصول على ناتج الأمر ولن تطرح أي استثناء.

maxTimeUnits TimeUnit: وحدات القيم غير الصفرية maxTimeout وmaxTimeToOutputResponse

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

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

executeRemoteCommand

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

ينفّذ أمر shell على الجهاز ويستردّ الناتج. يتم تسليم الناتج إلى rcvr فور صدوره.

المعلَمات
adbSockAddr استبدِل InetSocketAddress بـ InetSocketAddress في adb.

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

device IDevice: IDevice الذي سيتم تنفيذ الأمر عليه

rcvr IShellOutputReceiver: IShellOutputReceiver الذي سيتلقّى نتيجة أمر shell

maxTimeToOutputResponse long: الحد الأقصى للوقت بين مخرجات الأوامر إذا مرّ وقت أطول بين إخراج الأمر، سيؤدي ذلك إلى ظهور الخطأ ShellCommandUnresponsiveException. تعني القيمة 0 أنّ الطريقة ستنتظر إلى الأبد للحصول على ناتج الأمر ولن تطرح أي استثناء.

maxTimeUnits TimeUnit: وحدات قيم maxTimeToOutputResponse غير الصفرية.

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

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

formAdbRequest

public static byte[] formAdbRequest (String payloadString)

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

المعلَمات
payloadString String

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

getFeatures

public static String getFeatures (IDevice device)

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

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

المرتجعات
String

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

getFrameBuffer

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

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

المعلَمات
adbSockAddr InetSocketAddress

device IDevice

timeout long

unit TimeUnit

القيم المُعادة
RawImage

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

getHostFeatures

public static String getHostFeatures ()

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

المرتجعات
String

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

فتح

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

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

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

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

المرتجعات
SocketChannel

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

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

عمليات الطرح
com.android.ddmlib.AdbCommandRejectedException
com.android.ddmlib.TimeoutException
java.io.IOException
AdbCommandRejectedException
IOException
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

عمليات الطرح
com.android.ddmlib.AdbCommandRejectedException
com.android.ddmlib.TimeoutException
java.io.IOException
AdbCommandRejectedException
IOException
TimeoutException

readAdbResponse

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

تقرأ هذه الدالة الردّ من ADB بعد تنفيذ أمر.

المعلَمات
chan SocketChannel: قناة المقبس المرتبطة بـ adb.

readDiagString boolean: إذا كانت القيمة صحيحة، نتوقّع تلقّي رد OKAY متبوعًا بسلسلة بيانات تشخيصية. بخلاف ذلك، نتوقّع أن تتضمّن سلسلة بيانات التشخيص كلمة FAIL فقط.

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

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

إعادة التشغيل

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

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

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

adbSockAddr InetSocketAddress

device IDevice

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

removeForward

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

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

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

device استبدِل IDevice بالجهاز الذي تريد إزالة إعادة توجيه المنفذ منه.

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

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

removeReverse

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

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

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

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

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

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

جذر

public static void root (InetSocketAddress adbSockAddr, 
                IDevice device)

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

المعلَمات
adbSockAddr InetSocketAddress

device IDevice

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

setDevice

public static void setDevice (SocketChannel adbChan, 
                String deviceSerialNumber)

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

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

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

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

setDevice

public static void setDevice (SocketChannel adbChan, 
                IDevice device)

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

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

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

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

write

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

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

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

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

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

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

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

write

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

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

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

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

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

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