DeviceManager

public class DeviceManager
extends Object implements IDeviceManager

java.lang.Object
   ↳ com.android.tradefed.device.DeviceManager


ملخّص

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

class DeviceManager.FastbootDevice

تمثيل جهاز في وضع Fastboot 

الحقول

public static final String UNKNOWN_DISPLAY_STRING

سلسلة العرض للخصائص غير المعروفة

protected DeviceMonitorMultiplexer mDvcMon

protected boolean mFastbootEnabled

وظائف الإنشاء العامة

DeviceManager()

يجب استرداد DeviceManager من GlobalConfiguration.

الطرق العامة

void addAvailableDevice(IDevice stubDevice)
void addAvailableNativeDevice(IDevice stubDevice)
void addDeviceMonitor(IDeviceMonitor mon)

إضافة IDeviceMonitor

void addFastbootDevice(DeviceManager.FastbootDevice fastbootDevice)
void addFastbootListener(IDeviceManager.IFastbootListener listener)

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

void addMonitoringTcpFastbootDevice(String serial, String fastboot_serial)

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

ITestDevice allocateDevice(IDeviceSelection options, boolean isTemporary)

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

ITestDevice allocateDevice(IDeviceSelection options)

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

ITestDevice allocateDevice()

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

ITestDevice connectToTcpDevice(String ipAndPort)

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

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

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

boolean disconnectFromTcpDevice(ITestDevice tcpDevice)

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

void displayDevicesInfo(PrintWriter stream, boolean includeStub)

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

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

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

String executeGlobalAdbCommand(String... cmdArgs)

تنفيذ أمر adb غير موجَّه إلى جهاز معيّن، على سبيل المثال

ITestDevice forceAllocateDevice(String serial)

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

void freeDevice(ITestDevice device, FreeDeviceState deviceState)

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

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

String getAdbPath()

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

String getAdbVersion()

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

DeviceDescriptor getDeviceDescriptor(String serial)

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

String getFastbootPath()

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

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors, IManagedTestDeviceFactory deviceFactory)

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

void init(IDeviceSelection globalDeviceFilter, globalDeviceMonitors)

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

void init()

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

boolean isEmulator(String serial)

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

boolean isFileSystemMountCheckEnabled()

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

boolean isNullDevice(String serial)

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

void killEmulator(ITestDevice device)

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

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

طريقة مساعدة لبدء المحاكي

listAllDevices(boolean shortDescriptor)

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

listAllDevices()

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

ITestDevice reconnectDeviceToTcp(ITestDevice usbDevice)

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

void removeDeviceMonitor(IDeviceMonitor mon)

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

void removeFastbootListener(IDeviceManager.IFastbootListener listener)

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

void restartAdbBridge()

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

void stopAdbBridge()

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

void terminate()

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

void terminateDeviceMonitor()

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

void terminateDeviceRecovery()

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

void terminateHard(String reason)

مثل terminateHard().

void terminateHard()

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

boolean waitForFirstDeviceAdded(long timeout)

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

الحقول

UNKNOWN_DISPLAY_STRING

public static final String UNKNOWN_DISPLAY_STRING

سلسلة العرض للخصائص غير المعروفة

mDvcMon

protected DeviceMonitorMultiplexer mDvcMon

mFastbootEnabled

protected boolean mFastbootEnabled

وظائف الإنشاء العامة

DeviceManager

public DeviceManager ()

يجب استرداد DeviceManager من GlobalConfiguration.

الطرق العامة

addAvailableDevice

public void addAvailableDevice (IDevice stubDevice)

المعلمات
stubDevice IDevice

addAvailableNativeDevice

public void addAvailableNativeDevice (IDevice stubDevice)

المعلمات
stubDevice IDevice

addDeviceMonitor

public void addDeviceMonitor (IDeviceMonitor mon)

إضافة IDeviceMonitor

المعلمات
mon IDeviceMonitor

addFastbootDevice

public void addFastbootDevice (DeviceManager.FastbootDevice fastbootDevice)

المعلمات
fastbootDevice DeviceManager.FastbootDevice

addFastbootListener

public void addFastbootListener (IDeviceManager.IFastbootListener listener)

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

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

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

addMonitoringTcpFastbootDevice

public void addMonitoringTcpFastbootDevice (String serial, 
                String fastboot_serial)

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

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

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

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options, 
                boolean isTemporary)

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

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

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

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

allocateDevice

public ITestDevice allocateDevice (IDeviceSelection options)

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

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

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

allocateDevice

public ITestDevice allocateDevice ()

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

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

connectToTcpDevice

public 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 boolean disconnectFromTcpDevice (ITestDevice tcpDevice)

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

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

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

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

displayDevicesInfo

public void displayDevicesInfo (PrintWriter stream, 
                boolean includeStub)

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

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

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

executeCmdOnAvailableDevice

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

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

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

command String: أمر Shell

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

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

المرتجعات
CommandResult CommandResult

executeGlobalAdbCommand

public String executeGlobalAdbCommand (String... cmdArgs)

تنفيذ أمر adb غير موجَّه إلى جهاز معيّن، على سبيل المثال: "adb connect"

المرتجعات
String إخراج std إذا تم تنفيذ الأمر بنجاح، أو قيمة فارغة في حال عدم تنفيذه

forceAllocateDevice

public ITestDevice forceAllocateDevice (String serial)

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

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

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

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

freeDevice

public void freeDevice (ITestDevice device, 
                FreeDeviceState deviceState)

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

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

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

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

getAdbPath

public String getAdbPath ()

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

المرتجعات
String

getAdbVersion

public String getAdbVersion ()

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

المرتجعات
String

getDeviceDescriptor

public DeviceDescriptor getDeviceDescriptor (String serial)

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

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

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

getFastbootPath

public String getFastbootPath ()

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

المرتجعات
String

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors, 
                IManagedTestDeviceFactory deviceFactory)

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

المعلمات
globalDeviceFilter IDeviceSelection

globalDeviceMonitors

deviceFactory IManagedTestDeviceFactory

init

public void init (IDeviceSelection globalDeviceFilter, 
                 globalDeviceMonitors)

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

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

globalDeviceMonitors

init

public void init ()

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

isEmulator

public boolean isEmulator (String serial)

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

المعلمات
serial String

المرتجعات
boolean

isFileSystemMountCheckEnabled

public boolean isFileSystemMountCheckEnabled ()

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

المرتجعات
boolean

isNullDevice

public boolean isNullDevice (String serial)

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

المعلمات
serial String

المرتجعات
boolean

killEmulator

public void killEmulator (ITestDevice device)

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

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

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

عمليات الرمي
DeviceNotAvailableException

launchEmulator

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

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

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

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

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

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

عمليات الرمي
DeviceNotAvailableException

listAllDevices

public  listAllDevices (boolean shortDescriptor)

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

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

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

listAllDevices

public  listAllDevices ()

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

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

reconnectDeviceToTcp

public ITestDevice reconnectDeviceToTcp (ITestDevice usbDevice)

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

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

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

عمليات الرمي
DeviceNotAvailableException

removeDeviceMonitor

public void removeDeviceMonitor (IDeviceMonitor mon)

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

المعلمات
mon IDeviceMonitor

removeFastbootListener

public void removeFastbootListener (IDeviceManager.IFastbootListener listener)

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

restartAdbBridge

public void restartAdbBridge ()

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

stopAdbBridge

public void stopAdbBridge ()

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

إنهاء

public void terminate ()

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

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

terminateDeviceMonitor

public void terminateDeviceMonitor ()

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

terminateDeviceRecovery

public void terminateDeviceRecovery ()

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

terminateHard

public void terminateHard (String reason)

مثل terminateHard().

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

terminateHard

public void terminateHard ()

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

waitForFirstDeviceAdded

public boolean waitForFirstDeviceAdded (long timeout)

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

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

المرتجعات
boolean