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(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 long getShellCheckCmdTime()

تعرض هذه السمة المهلة بالمللي ثانية لأمر التحقّق من توفّر Shell.

abstract void init(IDeviceSelection globalDeviceFilter, List<IDeviceMonitor> 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, List<String> emulatorArgs)

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

abstract List<DeviceDescriptor> listAllDevices(boolean shortDescriptor)

تعرض هذه الطريقة قائمة بـ DeviceDescriptors لجميع الأجهزة المعروفة

abstract List<DeviceDescriptor> 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.

default void removeMonitoringTcpFastbootDevice(String serial)
abstract void restartAdbBridge()

أعِد التشغيل (في حال تم استدعاء stopAdbBridge())، إذ تعتمد خدمات وجسر adb على اتصالات adb.

abstract void stopAdbBridge()

أوقِف جسر تصحيح أخطاء Android (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 السلسلة &quot;fastboot_serial&quot; للتواصل مع الجهاز.

المعلَمات
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(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: 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

getShellCheckCmdTime

public abstract long getShellCheckCmdTime ()

تعرض هذه السمة المهلة بالمللي ثانية لأمر التحقّق من توفّر Shell.

المرتجعات
long

init

public abstract void init (IDeviceSelection globalDeviceFilter, 
                List<IDeviceMonitor> deviceMonitors)

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

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

deviceMonitors List

init

public abstract void init ()

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

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, 
                List<String> emulatorArgs)

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

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

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

bootTimeout long: الوقت بالملّي ثانية الذي يجب انتظاره حتى يتم تشغيل المحاكي

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

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

listAllDevices

public abstract List<DeviceDescriptor> listAllDevices (boolean shortDescriptor)

تعرض هذه الطريقة قائمة بـ DeviceDescriptors لجميع الأجهزة المعروفة

المعلَمات
shortDescriptor boolean: ما إذا كان سيتم حصر الواصفات على الحد الأدنى من المعلومات

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

listAllDevices

public abstract List<DeviceDescriptor> listAllDevices ()

تعرض هذه الطريقة قائمة بـ DeviceDescriptors لجميع الأجهزة المعروفة

المرتجعات
List<DeviceDescriptor> قائمة بـ 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.

removeMonitoringTcpFastbootDevice

public void removeMonitoringTcpFastbootDevice (String serial)

المعلَمات
serial String

restartAdbBridge

public abstract void restartAdbBridge ()

أعِد التشغيل (في حال تم استدعاء stopAdbBridge())، إذ تعتمد خدمات وجسر adb على اتصالات adb.

stopAdbBridge

public abstract void stopAdbBridge ()

أوقِف جسر تصحيح أخطاء Android (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: الوقت المطلوب الانتظار فيه بالملي ثانية قبل عرض القيمة "خطأ".

المرتجعات
boolean