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.

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 السلسلة "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 ()

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

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.

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