IDeviceManager

public interface IDeviceManager

com.android.tradefed.device.IDeviceManager


واجهة لإدارة مجموعة الأجهزة المتاحة للاختبار

ملخّص

الفئات المُدمجة

interface IDeviceManager.IFastbootListener

مستمع لتغييرات حالة Fastboot 

الطرق العامة

abstract void addDeviceMonitor(IDeviceMonitor mon)

إضافة IDeviceMonitor

abstract void addFastbootListener(IDeviceManager.IFastbootListener listener)

إبلاغ المدير بأنّ أحد المستمعين مهتم بتغييرات حالة Fastboot

abstract void addMonitoringTcpFastbootDevice(String serial, String fastboot_serial)

أضِف جهازًا إلى أداة مراقبة Fastboot.

abstract ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

طلب جهاز للاختبار يستوفي معايير معيّنة

abstract ITestDevice allocateDevice(IDeviceSelection options)

طلب جهاز للاختبار يستوفي معايير معيّنة

abstract ITestDevice allocateDevice()

طلب جهاز فعلي للاختبار

abstract ITestDevice connectToTcpDevice(String ipAndPort)

الاتصال بجهاز باستخدام adb-over-tcp

تخصص هذه الطريقة جهازًا جديدًا، ومن المفترض أن يتم تحريره في النهاية من خلال disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)

سيكون ITestDevice المعروض متصلاً بالإنترنت، ولكن قد لا يستجيب.

abstract boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

عليك إلغاء الاتصال بجهاز متصل عبر adb-over-tcp.

abstract void displayDevicesInfo(PrintWriter printWriter, boolean includeStub)

عرض وصف سهل الاستخدام يحتوي على قائمة بالأجهزة المعروفة وحالتها وقِيمها لخيارات IDeviceSelection الشائعة الاستخدام

abstract CommandResult executeCmdOnAvailableDevice(String serial, String command, long timeout, TimeUnit timeUnit)

طريقة مساعدة لتنفيذ أمر shell على الجهاز المتاح

abstract ITestDevice forceAllocateDevice(String serial)

تخصيص جهاز بشكل غير مهذَّب، حتى إذا لم يكن متاحًا حاليًا

abstract void freeDevice(ITestDevice device, FreeDeviceState state)

إعادة جهاز إلى مجموعة الأجهزة

سيتم تجاهل محاولات إرجاع جهاز لم يتم تخصيصه سابقًا.

abstract String getAdbPath()

عرض مسار ملف adb الثنائي المطلوب استخدامه

abstract String getAdbVersion()

الحصول على إصدار adb المستخدَم حاليًا من قِبل مدير الجهاز

abstract DeviceDescriptor getDeviceDescriptor(String serial)

لعرض DeviceDescriptor بالرقم التسلسلي المحدّد

abstract String getFastbootPath()

عرض مسار ملف fastboot الثنائي المطلوب استخدامه

abstract void init(IDeviceSelection globalDeviceFilter, deviceMonitors)

يمكنك إعداد مدير الأجهزة باستخدام فلتر للأجهزة.

abstract void init()

شغِّل مدير الأجهزة.

abstract boolean isEmulator(String serial)

تحديد ما إذا كان الرقم التسلسلي المحدَّد يمثّل محاكيًا

default boolean isFileSystemMountCheckEnabled()

تُرجع ما إذا كان علينا التحقّق في NativeDeviceStateMonitor من أنّ ملف النظام تم تثبيته بشكل صحيح.

abstract boolean isNullDevice(String serial)

تحديد ما إذا كان الرقم التسلسلي المحدَّد يمثّل جهازًا غير صالح

abstract void killEmulator(ITestDevice device)

أوقِف المحاكي المحدَّد.

abstract void launchEmulator(ITestDevice device, long bootTimeout, IRunUtil runUtil, emulatorArgs)

طريقة مساعدة لتشغيل المحاكي

abstract listAllDevices(boolean shortDescriptor)

عرض قائمة بعناصر DeviceDescriptors لجميع الأجهزة المعروفة

abstract listAllDevices()

عرض قائمة بعناصر DeviceDescriptors لجميع الأجهزة المعروفة

abstract ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

طريقة مساعدة تعمل على تبديل جهاز USB المحدَّد إلى وضع adb-over-tcp، ثم تتصل به من خلال connectToTcpDevice(String).

abstract void removeDeviceMonitor(IDeviceMonitor mon)

تزيل IDeviceMonitor تمت إضافتها سابقًا.

abstract void removeFastbootListener(IDeviceManager.IFastbootListener listener)

إبلاغ المدير بأنّ أحد المستمعين لم يعُد مهتمًا بتغييرات حالة Fastboot

abstract void restartAdbBridge()

يعتمد جسر adb والخدمات على عمليات الاتصال عبر adb ، لذا يجب إعادة تشغيله (إذا تم استدعاء stopAdbBridge()).

abstract void stopAdbBridge()

يتوقف جسر adb والخدمات على عمليات اتصال adb.

abstract void terminate()

يوقف خدمات مراقبة الأجهزة ويُنهي مكتبة ddm.

abstract void terminateDeviceMonitor()

أوقِف تطبيقات "مراقبة الأجهزة".

abstract void terminateDeviceRecovery()

يوقف سلسلة محادثات استرداد الجهاز.

default void terminateHard(String reason)

مثل terminateHard()

abstract void terminateHard()

مثل terminate()، ولكن يحاول أيضًا إيقاف adb بالقوة.

abstract boolean waitForFirstDeviceAdded(long timeout)

انتظِر حتى يتم توصيل أول جهاز.

الطرق العامة

addDeviceMonitor

public abstract void addDeviceMonitor (IDeviceMonitor mon)

إضافة IDeviceMonitor

المعلمات
mon IDeviceMonitor

addFastbootListener

public abstract void addFastbootListener (IDeviceManager.IFastbootListener listener)

إبلاغ المدير بأنّ أحد المستمعين مهتم بتغييرات حالة Fastboot

في الوقت الحالي، لن يراقب IDeviceManager الأجهزة في وضع Fastboot إلا إذا كان هناك مستمع نشِط واحد أو أكثر.

TODO: هذا حلّ مؤقت، لذا يُرجى البحث عن حلّ أفضل.

addMonitoringTcpFastbootDevice

public abstract void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

أضِف جهازًا إلى أداة مراقبة Fastboot. سيستخدم برنامج Fastboot monitor واجهة fastboot_serial للتواصل مع الجهاز.

المعلمات
serial String: الرقم التسلسلي للجهاز

fastboot_serial String: الرقم التسلسلي لوضع Fastboot على الجهاز

allocateDevice

public abstract ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

طلب جهاز للاختبار يستوفي معايير معيّنة

المعلمات
options IDeviceSelection: IDeviceSelection التي يجب أن يستوفيها الجهاز

isTemporary boolean: ما إذا كان يجب إنشاء جهاز NullDevice مؤقت أم لا

المرتجعات
ITestDevice ITestDevice للاختبار، أو null في حال عدم توفّر رمز

allocateDevice

public abstract ITestDevice allocateDevice (IDeviceSelection options)

طلب جهاز للاختبار يستوفي معايير معيّنة

المعلمات
options IDeviceSelection: IDeviceSelection التي يجب أن يستوفيها الجهاز

المرتجعات
ITestDevice ITestDevice للاختبار، أو null إذا لم يكن هناك جهاز

allocateDevice

public abstract ITestDevice allocateDevice ()

طلب جهاز فعلي للاختبار

المرتجعات
ITestDevice ITestDevice للاختبار، أو null في حال عدم توفّر رمز

connectToTcpDevice

public abstract ITestDevice connectToTcpDevice (String ipAndPort)

الاتصال بجهاز باستخدام adb-over-tcp

تخصص هذه الطريقة جهازًا جديدًا، ومن المفترض أن يتم تحريره في النهاية من خلال disconnectFromTcpDevice(com.android.tradefed.device.ITestDevice)

سيكون ITestDevice المعروض متصلاً بالإنترنت، ولكن قد لا يستجيب.

يُرجى العِلم أنّ تنفيذ إجراء مثل إعادة تشغيل جهاز متصل عبر بروتوكول tcp سيؤدي إلى قطع اتصال بروتوكول tcp بالجهاز، ما سيؤدي إلى DeviceNotAvailableException

المعلمات
ipAndPort String: عنوان IP الأصلي والمنفذ للجهاز المطلوب الاتصال به

المرتجعات
ITestDevice ITestDevice أو null إذا تعذّر إنشاء اتصال tcp

disconnectFromTcpDevice

public abstract boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

عليك إلغاء الاتصال بجهاز متصل عبر adb-over-tcp.

تؤدي هذه العملية إلى إعادة تشغيل الجهاز في وضع USB وإلغاء قفله.

المعلمات
tcpDevice ITestDevice: الجهاز في وضع tcp حاليًا، تم تخصيصه سابقًا من خلال connectToTcpDevice(String)

المرتجعات
boolean true إذا تم التبديل إلى وضع USB بنجاح

displayDevicesInfo

public abstract void displayDevicesInfo (PrintWriter printWriter, 
                boolean includeStub)

عرض وصف سهل الاستخدام يحتوي على قائمة بالأجهزة المعروفة وحالتها وقِيمها لخيارات IDeviceSelection الشائعة الاستخدام

المعلمات
printWriter PrintWriter: ERROR(/PrintWriter) لإخراج الوصف

includeStub boolean: ما إذا كان سيتم عرض الأجهزة النموذجية أيضًا أم لا

executeCmdOnAvailableDevice

public abstract CommandResult executeCmdOnAvailableDevice (String serial, 
                String command, 
                long timeout, 
                TimeUnit timeUnit)

طريقة مساعدة لتنفيذ أمر shell على الجهاز المتاح

المعلمات
serial String: الرقم التسلسلي للجهاز

command String: أمر Shell

timeout long: مدة تنفيذ الطلب

timeUnit TimeUnit: وحدة وقت الاستراحة

المرتجعات
CommandResult CommandResult

forceAllocateDevice

public abstract ITestDevice forceAllocateDevice (String serial)

تخصيص جهاز بشكل غير مهذَّب، حتى إذا لم يكن متاحًا حاليًا

لن يكون لهذا الإجراء أي تأثير إذا سبق تخصيص الجهاز.

المعلمات
serial String: الرقم التسلسلي للجهاز المطلوب تخصيصه

المرتجعات
ITestDevice ITestDevice أو null إذا تعذّر تخصيصه

freeDevice

public abstract void freeDevice (ITestDevice device, 
                FreeDeviceState state)

إعادة جهاز إلى مجموعة الأجهزة

سيتم تجاهل محاولات إرجاع جهاز لم يتم تخصيصه سابقًا.

المعلمات
device ITestDevice: من ITestDevice إلى مجاني

state FreeDeviceState: FreeDeviceState يُستخدَم للتحكّم في ما إذا كان سيتم إرجاع الجهاز إلى مجموعة الأجهزة المتاحة.

getAdbPath

public abstract String getAdbPath ()

عرض مسار ملف adb الثنائي المطلوب استخدامه

المرتجعات
String

getAdbVersion

public abstract String getAdbVersion ()

الحصول على إصدار adb المستخدَم حاليًا من قِبل مدير الجهاز

المرتجعات
String

getDeviceDescriptor

public abstract DeviceDescriptor getDeviceDescriptor (String serial)

لعرض DeviceDescriptor بالرقم التسلسلي المحدّد

المعلمات
serial String: الرقم التسلسلي للجهاز المطلوب الحصول عليه

المرتجعات
DeviceDescriptor DeviceDescriptor للجهاز المحدّد، أو قيمة فارغة إذا كان الرقم التسلسلي لا يتطابق مع جهاز معروف

getFastbootPath

public abstract String getFastbootPath ()

عرض مسار ملف fastboot الثنائي المطلوب استخدامه

المرتجعات
String

init

public abstract void init (IDeviceSelection globalDeviceFilter, 
                 deviceMonitors)

يمكنك إعداد مدير الأجهزة باستخدام فلتر للأجهزة. يمكن استخدام هذا الفلتر لتوجيه DeviceManager إلى تجاهل أجهزة متصلة معيّنة.

المعلمات
globalDeviceFilter IDeviceSelection: فلتر الجهاز

deviceMonitors

init

public abstract void init ()

شغِّل مدير الأجهزة. يجب استدعاء هذه الطريقة مرة واحدة فقط قبل استدعاء أي من مثيلات methods الأخرى.

isEmulator

public abstract boolean isEmulator (String serial)

تحديد ما إذا كان الرقم التسلسلي المحدَّد يمثّل محاكيًا

المعلمات
serial String

المرتجعات
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

تُرجع ما إذا كان علينا التحقّق في NativeDeviceStateMonitor من أنّ ملف النظام تم تثبيته بشكل صحيح.

المرتجعات
boolean

isNullDevice

public abstract boolean isNullDevice (String serial)

تحديد ما إذا كان الرقم التسلسلي المحدَّد يمثّل جهازًا غير صالح

المعلمات
serial String

المرتجعات
boolean

killEmulator

public abstract void killEmulator (ITestDevice device)

أوقِف المحاكي المحدَّد.

يتم الحظر إلى أن يختفي المحاكي من adb. لن يكون لهذا الإعداد أي تأثير في حال عدم توفّر المحاكي.

المعلمات
device ITestDevice: ITestDevice يمثّل المحاكي المطلوب إيقافه

عمليات الرمي
DeviceNotAvailableException إذا تعذّر إغلاق المحاكي

launchEmulator

public abstract void launchEmulator (ITestDevice device, 
                long bootTimeout, 
                IRunUtil runUtil, 
                 emulatorArgs)

طريقة مساعدة لتشغيل المحاكي

سيتم تشغيل المحاكي على النحو الذي يحدّده المتصل.

المعلمات
device ITestDevice: العنصر النائب ITestDevice الذي يمثّل جهاز المحاكاة المخصّص

bootTimeout long: الوقت بالملي ثانية للانتظار إلى أن يتم تشغيل المحاكي

emulatorArgs : وسيطات سطر الأوامر لتشغيل المحاكي

عمليات الرمي
DeviceNotAvailableException إذا تعذّر تشغيل المحاكي أو الاتصال بالإنترنت

listAllDevices

public abstract  listAllDevices (boolean shortDescriptor)

عرض قائمة بعناصر DeviceDescriptors لجميع الأجهزة المعروفة

المعلمات
shortDescriptor boolean: ما إذا كان يجب حصر الأوصاف بأقل قدر من المعلومات

المرتجعات
قائمة بـ DeviceDescriptor لجميع الأجهزة المعروفة

listAllDevices

public abstract  listAllDevices ()

عرض قائمة بعناصر DeviceDescriptors لجميع الأجهزة المعروفة

المرتجعات
قائمة بـ DeviceDescriptor لجميع الأجهزة المعروفة

reconnectDeviceToTcp

public abstract ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

طريقة مساعدة تعمل على تبديل جهاز USB المحدَّد إلى وضع adb-over-tcp، ثم تتصل به من خلال connectToTcpDevice(String).

المعلمات
usbDevice ITestDevice: الجهاز في وضع USB حاليًا

المرتجعات
ITestDevice ITestDevice المخصّصة حديثًا في وضع tcp أو null إذا تعذّر إنشاء اتصال عبر tcp

عمليات الرمي
DeviceNotAvailableException إذا انقطع الاتصال بحساب usbDevice ولم يكن بإمكانك استعادته

removeDeviceMonitor

public abstract void removeDeviceMonitor (IDeviceMonitor mon)

تزيل IDeviceMonitor تمت إضافتها سابقًا. لن يكون له أي تأثير في حال عدم إضافة mon.

المعلمات
mon IDeviceMonitor

removeFastbootListener

public abstract void removeFastbootListener (IDeviceManager.IFastbootListener listener)

إبلاغ المدير بأنّ أحد المستمعين لم يعُد مهتمًا بتغييرات حالة Fastboot

restartAdbBridge

public abstract void restartAdbBridge ()

يعتمد جسر adb والخدمات على عمليات الاتصال عبر adb ، لذا يجب إعادة تشغيله (إذا تم استدعاء stopAdbBridge()).

stopAdbBridge

public abstract void stopAdbBridge ()

يتوقف جسر adb والخدمات على عمليات اتصال adb.

إنهاء

public abstract void terminate ()

يوقف خدمات مراقبة الأجهزة ويُنهي مكتبة ddm.

يجب استدعاء هذا الإجراء عند إنهاء التطبيق.

راجِع أيضًا:

terminateDeviceMonitor

public abstract void terminateDeviceMonitor ()

أوقِف تطبيقات "مراقبة الأجهزة".

terminateDeviceRecovery

public abstract void terminateDeviceRecovery ()

يوقف سلسلة محادثات استرداد الجهاز.

terminateHard

public void terminateHard (String reason)

مثل terminateHard()

المعلمات
reason String: سبب اختياري لإغلاق القناة

terminateHard

public abstract void terminateHard ()

مثل terminate()، ولكن يحاول أيضًا إيقاف adb بالقوة.

waitForFirstDeviceAdded

public abstract boolean waitForFirstDeviceAdded (long timeout)

انتظِر حتى يتم توصيل أول جهاز. إذا سبق أن تم ربط جهاز، يتم عرض القيمة True مباشرةً. إذا لم تتم إضافة أي جهاز، يتم عرض قيمة false بعد انتهاء مهلة الانتظار.

المعلمات
timeout long: مدة الانتظار بالمللي ثانية قبل عرض القيمة false.

المرتجعات
boolean