AndroidDebugBridge
public
class
AndroidDebugBridge
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.device.server.AndroidDebugBridge |
اتصال بأداة Android Debug Bridge (adb) على جهاز المضيف
وهي النقطة المركزية للتواصل مع أي أجهزة أو محاكيات أو تطبيقات تعمل عليها.
يجب استدعاء init() قبل تنفيذ أي إجراء.
ملخّص
الصفوف المتداخلة | |
|---|---|
interface |
AndroidDebugBridge.IDebugBridgeChangeListener
توفّر الفئات التي تنفّذ هذه الواجهة طريقة للتعامل مع تغييرات |
interface |
AndroidDebugBridge.IDeviceChangeListener
توفّر الفئات التي تنفّذ هذه الواجهة طرقًا للتعامل مع |
الثوابت | |
|---|---|
int |
DEFAULT_START_ADB_TIMEOUT_MILLIS
مهلة الإيقاف التلقائي المستخدَمة عند بدء تشغيل خادم ADB |
الحقول | |
|---|---|
public
static
final
AdbVersion |
MIN_ADB_VERSION
الحد الأدنى والأقصى لإصدار adb المتوافق |
الإجراءات العامة | |
|---|---|
static
void
|
addDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)
تضيف هذه الطريقة المستمع إلى مجموعة المستمعين الذين سيتم إعلامهم عند ربط |
static
void
|
addDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)
تضيف هذه الطريقة المستمع إلى مجموعة المستمعين الذين سيتم إشعارهم عند ربط |
static
AndroidDebugBridge
|
createBridge(String osLocation, boolean forceNewBridge, long timeout, TimeUnit unit)
تنشئ هذه السمة جسر تصحيح أخطاء جديدًا من موقع أداة سطر الأوامر. |
static
AndroidDebugBridge
|
createBridge(long timeout, TimeUnit unit)
تنشئ هذه السمة |
static
AndroidDebugBridge
|
createBridge(String osLocation, boolean forceNewBridge)
تم إيقاف هذه الطريقة نهائيًا.
قد تتوقف هذه الطريقة إذا لم يستجب ADB. يمكن استخدام |
static
AndroidDebugBridge
|
createBridge()
تم إيقاف هذه الطريقة نهائيًا.
قد تتوقف هذه الطريقة إذا لم يستجب ADB. يمكن استخدام |
static
void
|
deviceChanged(IDevice device, int changeMask)
إشعار المستمع بشأن |
static
void
|
deviceConnected(IDevice device)
إشعار المستمع بشأن |
static
void
|
deviceDisconnected(IDevice device)
إشعار المستمع بحدوث انقطاع في |
static
void
|
disableFakeAdbServerMode()
|
static
void
|
disconnectBridge()
تم إيقاف هذه الطريقة نهائيًا.
قد تتوقف هذه الطريقة إذا لم يستجب ADB. يمكن استخدام |
static
boolean
|
disconnectBridge(long timeout, TimeUnit unit)
يفصل هذا الأمر جسر تصحيح الأخطاء الحالي ويزيل العنصر. |
static
void
|
enableFakeAdbServerMode(int port)
|
static
ListenableFuture<AdbVersion>
|
getAdbVersion(File adb)
|
static
AndroidDebugBridge
|
getBridge()
تعرض هذه السمة جسر تصحيح الأخطاء الحالي. |
int
|
getConnectionAttemptCount()
تعرِض هذه السمة عدد المرات التي حاول فيها عنصر |
static
int
|
getDebugBridgeChangeListenerCount()
|
static
int
|
getDeviceChangeListenerCount()
|
IDevice[]
|
getDevices()
تعرض هذه الطريقة الأجهزة. |
ListenableFuture<List<AdbDevice>>
|
getRawDeviceList()
تعرض هذه الطريقة مجموعة الأجهزة التي تم الإبلاغ عنها من خلال سطر الأوامر adb. |
int
|
getRestartAttemptCount()
تعرِض هذه السمة عدد المرات التي حاول فيها العنصر |
static
InetSocketAddress
|
getSocketAddress()
تم إيقاف هذه الطريقة نهائيًا.
تعرض هذه الطريقة عنوان خادم إعادة التوجيه الحلقي الذي قد لا يتطابق مع العنوان الذي يستخدمه خادم ADB، أي أنّ JVM قد يكون في وضع IPv4 بينما يتم استضافة خادم ADB على عنوان إعادة التوجيه الحلقي IPv6. يُفضَّل استخدام |
static
ListenableFuture<String>
|
getVirtualDeviceId(ListeningExecutorService service, File adb, IDevice device)
|
boolean
|
hasInitialDeviceList()
تعرض هذه السمة ما إذا كانت مجموعة الإعدادات قد حصلت على القائمة الأولية من adb بعد إنشائها. |
static
void
|
init(AdbInitOptions options)
مشابه لـ |
static
void
|
init(boolean useLibusb, Map<String, String> env)
مشابهة لـ |
static
void
|
init()
تهيئة مكتبة |
static
void
|
initIfNeeded()
تمت تهيئة المكتبة فقط عند الحاجة إليها، وتم إيقافها نهائيًا للاستخدامات غير الاختبارية. |
boolean
|
isConnected()
تعرض هذه السمة ما إذا كان العنصر |
static
boolean
|
isUserManagedAdbMode()
|
static
SocketChannel
|
openConnection()
محاولات الاتصال بخادم "جسر تصحيح أخطاء Android" المحلي |
static
void
|
removeDebugBridgeChangeListener(AndroidDebugBridge.IDebugBridgeChangeListener listener)
تزيل هذه الطريقة المستمع من مجموعة المستمعين الذين سيتم إعلامهم عند بدء |
static
void
|
removeDeviceChangeListener(AndroidDebugBridge.IDeviceChangeListener listener)
يزيل المستمع من مجموعة المستمعين الذين سيتم إشعارهم عند توصيل |
boolean
|
restart(long timeout, TimeUnit unit)
يعيد تشغيل adb، ولكن ليس الخدمات المرتبطة به. |
boolean
|
restart()
تم إيقاف هذه الطريقة نهائيًا.
قد تتوقف هذه الطريقة إذا لم يستجب ADB. يمكن استخدام |
boolean
|
startAdb(long timeout, TimeUnit unit)
يبدأ خادم جهة المضيف adb. |
static
void
|
terminate()
تنهي هذه الدالة مكتبة ddm. |
الثوابت
DEFAULT_START_ADB_TIMEOUT_MILLIS
public static final int DEFAULT_START_ADB_TIMEOUT_MILLIS
مهلة الإيقاف التلقائي المستخدَمة عند بدء تشغيل خادم ADB
القيمة الثابتة: 20000 (0x00004e20)
الحقول
MIN_ADB_VERSION
public static final AdbVersion MIN_ADB_VERSION
الحد الأدنى والأقصى لإصدار adb المتوافق يتوافق ذلك مع ADB_SERVER_VERSION الذي تم العثور عليه في //device/tools/adb/adb.h
الإجراءات العامة
addDebugBridgeChangeListener
public static void addDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)
تضيف هذه الطريقة المستمع إلى مجموعة المستمعين الذين سيتم إعلامهم عند ربط AndroidDebugBridge جديد، وذلك عن طريق إرسال إحدى الرسائل المحدّدة في واجهة IDebugBridgeChangeListener.
| المعلَمات | |
|---|---|
listener |
AndroidDebugBridge.IDebugBridgeChangeListener: أداة معالجة الأحداث التي يجب إرسال إشعار إليها. |
addDeviceChangeListener
public static void addDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)
تضيف هذه الطريقة المستمع إلى مجموعة المستمعين الذين سيتم إشعارهم عند ربط IDevice أو فصله أو عند تغيير خصائصه أو قائمة ERROR(/ClientImpl) الخاصة به، وذلك عن طريق إرسال إحدى الرسائل المحدّدة في واجهة IDeviceChangeListener إليه.
| المعلَمات | |
|---|---|
listener |
AndroidDebugBridge.IDeviceChangeListener: أداة معالجة الأحداث التي يجب إرسال إشعار إليها. |
createBridge
public static AndroidDebugBridge createBridge (String osLocation, boolean forceNewBridge, long timeout, TimeUnit unit)
تنشئ هذه السمة جسر تصحيح أخطاء جديدًا من موقع أداة سطر الأوامر.
سيتم قطع اتصال أي خادم حالي، ما لم يكن الموقع الجغرافي هو نفسه وتم ضبط
forceNewBridge على "خطأ".
| المعلَمات | |
|---|---|
osLocation |
String: الموقع الجغرافي لأداة سطر الأوامر adb |
forceNewBridge |
boolean: لفرض إنشاء جسر جديد حتى إذا كان هناك جسر آخر بالموقع الجغرافي نفسه. |
timeout |
long: الحدّ الأقصى لمدة الانتظار |
unit |
TimeUnit: وحدة الوقت للوسيطة timeout |
| المرتجعات | |
|---|---|
AndroidDebugBridge |
جهاز ربط متصل، أو قيمة فارغة إذا حدثت أخطاء أثناء إنشاء جهاز الربط أو الاتصال به |
createBridge
public static AndroidDebugBridge createBridge (long timeout, TimeUnit unit)
تنشئ هذه السمة AndroidDebugBridge غير مرتبطة بأي ملف تنفيذي معيّن.
سيتوقّع هذا الجسر أن يكون adb قيد التشغيل. لن يتمكّن من بدء/إيقاف/إعادة تشغيل adb.
إذا سبق أن تم بدء عملية الربط، سيتم عرضها مباشرةً بدون أي تغييرات (كما هو الحال عند استدعاء getBridge()).
| المعلَمات | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| المرتجعات | |
|---|---|
AndroidDebugBridge |
جهاز ربط متصل، أو قيمة فارغة إذا حدثت أخطاء أثناء إنشاء جهاز الربط أو الاتصال به |
createBridge
public static AndroidDebugBridge createBridge (String osLocation, boolean forceNewBridge)
تم إيقاف هذا الإجراء نهائيًا.
قد يتوقف هذا الإجراء إذا لم يستجب ADB. يمكنك استخدام createBridge(String,boolean,long,TimeUnit) كبديل.
تنشئ هذه السمة جسر تصحيح أخطاء جديدًا من موقع أداة سطر الأوامر.
سيتم قطع اتصال أي خادم حالي، ما لم يكن الموقع الجغرافي هو نفسه وتم ضبط
forceNewBridge على "خطأ".
| المعلَمات | |
|---|---|
osLocation |
String: الموقع الجغرافي لأداة سطر الأوامر adb |
forceNewBridge |
boolean: لفرض إنشاء جسر جديد حتى إذا كان هناك جسر آخر بالموقع الجغرافي نفسه. |
| المرتجعات | |
|---|---|
AndroidDebugBridge |
جهاز ربط متصل، أو قيمة فارغة إذا حدثت أخطاء أثناء إنشاء جهاز الربط أو الاتصال به |
createBridge
public static AndroidDebugBridge createBridge ()
تم إيقاف هذا الإجراء نهائيًا.
قد يتوقف هذا الإجراء إذا لم يستجب ADB. يمكنك استخدام createBridge(long,TimeUnit) كبديل.
تنشئ هذه السمة AndroidDebugBridge غير مرتبط بأي ملف تنفيذي معيّن.
سيتوقّع هذا الجسر أن يكون adb قيد التشغيل. لن يتمكّن من بدء/إيقاف/إعادة تشغيل adb.
إذا تم بدء عملية الربط، يتم عرضها مباشرةً بدون أي تغييرات (كما هو الحال عند استدعاء getBridge()).
| المرتجعات | |
|---|---|
AndroidDebugBridge |
جهاز ربط متصل، أو قيمة فارغة إذا حدثت أخطاء أثناء إنشاء جهاز الربط أو الاتصال به |
deviceChanged
public static void deviceChanged (IDevice device, int changeMask)
إشعار المستمع بشأن IDevice معدَّل
يتم إرسال إشعار إلى المستمعين في عملية متزامنة. من المهم توقّع إمكانية وصول المستمعين إلى طرق مختلفة من IDevice بالإضافة إلى getDevices() التي تستخدم أقفالاً داخلية.
| المعلَمات | |
|---|---|
device |
IDevice: IDevice المعدَّلة |
changeMask |
int |
deviceConnected
public static void deviceConnected (IDevice device)
إشعار المستمع بشأن IDevice جديد
يتم إرسال إشعار إلى المستمعين في عملية متزامنة. من المهم توقّع إمكانية وصول المستمعين إلى طرق مختلفة من IDevice بالإضافة إلى getDevices() التي تستخدم أقفالاً داخلية.
| المعلَمات | |
|---|---|
device |
IDevice: IDevice الجديد |
deviceDisconnected
public static void deviceDisconnected (IDevice device)
إشعار المستمع بحدوث انقطاع في IDevice
يتم إرسال إشعار إلى المستمعين في عملية متزامنة. من المهم توقّع إمكانية وصول المستمعين إلى طرق مختلفة من IDevice بالإضافة إلى getDevices() التي تستخدم أقفالاً داخلية.
| المعلَمات | |
|---|---|
device |
IDevice: IDevice الذي تم إلغاء ربطه |
disableFakeAdbServerMode
public static void disableFakeAdbServerMode ()
disconnectBridge
public static void disconnectBridge ()
تم إيقاف هذا الإجراء نهائيًا.
قد يتوقف هذا الإجراء إذا لم يستجب ADB. يمكنك استخدام disconnectBridge(long,TimeUnit) كبديل.
يفصل هذا الأمر جسر تصحيح الأخطاء الحالي ويزيل العنصر. يجب إنشاء عنصر جديد باستخدام createBridge(String,boolean).
يؤدي هذا الإجراء أيضًا إلى إيقاف خادم مضيف adb الحالي.
disconnectBridge
public static boolean disconnectBridge (long timeout,
TimeUnit unit)يفصل هذا الأمر جسر تصحيح الأخطاء الحالي ويزيل العنصر. يجب إنشاء عنصر جديد باستخدام createBridge(String,boolean).
يؤدي هذا الإجراء أيضًا إلى إيقاف خادم مضيف adb الحالي.
| المعلَمات | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| المرتجعات | |
|---|---|
boolean |
true إذا نجحت الطريقة خلال المهلة المحدّدة |
enableFakeAdbServerMode
public static void enableFakeAdbServerMode (int port)
| المعلَمات | |
|---|---|
port |
int |
getAdbVersion
public static ListenableFuture<AdbVersion> getAdbVersion (File adb)
| المعلَمات | |
|---|---|
adb |
File |
| المرتجعات | |
|---|---|
ListenableFuture<AdbVersion> |
|
getBridge
public static AndroidDebugBridge getBridge ()
تعرض هذه السمة جسر تصحيح الأخطاء الحالي. يمكن أن تكون القيمة null إذا لم يتم إنشاء أي منها.
| المرتجعات | |
|---|---|
AndroidDebugBridge |
|
getConnectionAttemptCount
public int getConnectionAttemptCount ()
تعرِض هذه السمة عدد المرات التي حاول فيها عنصر AndroidDebugBridge الاتصال ببرنامج adb الخفي.
| المرتجعات | |
|---|---|
int |
|
getDebugBridgeChangeListenerCount
public static int getDebugBridgeChangeListenerCount ()
| المرتجعات | |
|---|---|
int |
|
getDeviceChangeListenerCount
public static int getDeviceChangeListenerCount ()
| المرتجعات | |
|---|---|
int |
|
getDevices
public IDevice[] getDevices ()
تعرض هذه الطريقة الأجهزة.
| المرتجعات | |
|---|---|
IDevice[] |
|
يُرجى الاطّلاع أيضًا على:
getRawDeviceList
public ListenableFuture<List<AdbDevice>> getRawDeviceList ()
تعرض هذه الطريقة مجموعة الأجهزة التي تم الإبلاغ عنها من خلال سطر الأوامر adb. وهي مخصّصة بشكل أساسي لأداة "مساعد الربط" أو أدوات التشخيص الأخرى التي تحتاج إلى التحقّق من حالة قائمة getDevices() من خلال قناة أخرى. يجب أن يستدعي الرمز الذي يحتاج فقط إلى الوصول إلى قائمة الأجهزة الدالة getDevices() بدلاً من ذلك.
| المرتجعات | |
|---|---|
ListenableFuture<List<AdbDevice>> |
|
getRestartAttemptCount
public int getRestartAttemptCount ()
تعرِض هذه السمة عدد المرات التي حاول فيها العنصر AndroidDebugBridge إعادة تشغيل برنامج adb الخفي.
| المرتجعات | |
|---|---|
int |
|
getSocketAddress
public static InetSocketAddress getSocketAddress ()
تم إيقاف هذا الإجراء نهائيًا.
تعرض هذه الطريقة عنوان خادم إعادة توجيه قد لا يتطابق مع العنوان الذي يستخدمه خادم ADB، أي أنّ جهاز JVM قد يكون في وضع IPv4 بينما يتم استضافة خادم ADB على عنوان إعادة توجيه IPv6. يُفضَّل استخدام openConnection() عند فتح اتصال
بخدمة تصحيح أخطاء Android.
تعرض هذه السمة عنوان مأخذ التوصيل لخادم ADB على المضيف.
ستحاول هذه الطريقة عرض عنوان مقبس معروف بأنّه يعمل من خلال فتح قناة مقبس إلى خادم ADB. ستتم محاولة استخدام عنوانَي IPv4 وIPv6 للعنوان الحلقي. في حال تعذّر الاتصال بأي منهما، ستعود هذه الطريقة إلى عرض عنوان loopback المفضّل لدى JVM. هذه المنطق الاحتياطي مطلوب لمنع حدوث مشاكل في واجهة برمجة التطبيقات.
في حال تفعيل وضع خادم ADB الوهمي، سيتم تلقائيًا الرجوع إلى التنفيذ القديم بدون محاولة الاتصال بـ ADB.
| المرتجعات | |
|---|---|
InetSocketAddress |
|
getVirtualDeviceId
public static ListenableFuture<String> getVirtualDeviceId (ListeningExecutorService service,
File adb,
IDevice device)| المعلَمات | |
|---|---|
service |
ListeningExecutorService |
adb |
File |
device |
IDevice |
| المرتجعات | |
|---|---|
ListenableFuture<String> |
|
hasInitialDeviceList
public boolean hasInitialDeviceList ()
تعرض هذه السمة ما إذا كانت مجموعة الإعدادات قد حصلت على القائمة الأولية من adb بعد إنشائها.
سيؤدي طلب getDevices() مباشرةً بعد createBridge(String,boolean) إلى ظهور قائمة فارغة بشكل عام. ويرجع ذلك إلى آلية التواصل الداخلية غير المتزامنة مع adb التي لا تضمن إنشاء القائمة IDevice قبل إجراء طلب إلى getDevices().
الطريقة المقترَحة للحصول على قائمة بعناصر IDevice هي إنشاء عنصر IDeviceChangeListener.
| المرتجعات | |
|---|---|
boolean |
|
init
public static void init (AdbInitOptions options)
مشابهة لـ init()، مع إمكانية تمرير مجموعة مخصّصة من متغيّرات البيئة.
| المعلَمات | |
|---|---|
options |
AdbInitOptions |
init
public static void init (boolean useLibusb,
Map<String, String> env)مشابهة لـ init()، مع إمكانية تفعيل libusb وتمرير مجموعة مخصّصة من env.
المتغيّرات.
| المعلَمات | |
|---|---|
useLibusb |
boolean |
env |
Map |
init
public static void init ()
تهيئة مكتبة ddm
يجب استدعاء هذه الدالة مرة واحدة قبل أي استدعاء للدالة createBridge(String,boolean).
يجب أيضًا ضبط الإعدادات المفضّلة الخاصة بـ ddmlib على القيم التلقائية التي تم تغييرها.
عند إغلاق التطبيق، يجب استدعاء terminate().
يُرجى الاطّلاع أيضًا على:
initIfNeeded
public static void initIfNeeded ()
تمت تهيئة المكتبة فقط عند الحاجة إليها، وتم إيقافها نهائيًا للاستخدامات غير الاختبارية.
يُرجى الاطّلاع أيضًا على:
isConnected
public boolean isConnected ()
تعرض هذه السمة ما إذا كان العنصر AndroidDebugBridge لا يزال مرتبطًا بخادم adb.
| المرتجعات | |
|---|---|
boolean |
|
isUserManagedAdbMode
public static boolean isUserManagedAdbMode ()
| المرتجعات | |
|---|---|
boolean |
إذا كان التشغيل في وضع ADB الذي يديره المستخدم حيث لن تدير ddmlib خادم ADB ولن يكون عليها ذلك. |
openConnection
public static SocketChannel openConnection ()
محاولات الاتصال بخادم "جسر تصحيح أخطاء Android" المحلي
| المرتجعات | |
|---|---|
SocketChannel |
مقبس متصل في حال النجاح |
| عمليات الطرح | |
|---|---|
IOException |
في حال حدوث أخطاء عند فتح الاتصال |
removeDebugBridgeChangeListener
public static void removeDebugBridgeChangeListener (AndroidDebugBridge.IDebugBridgeChangeListener listener)
تزيل هذه الطريقة المستمع من مجموعة المستمعين الذين سيتم إعلامهم عند بدء AndroidDebugBridge جديد.
| المعلَمات | |
|---|---|
listener |
AndroidDebugBridge.IDebugBridgeChangeListener: أداة معالجة الأحداث التي يجب عدم إرسال إشعارات إليها بعد الآن. |
removeDeviceChangeListener
public static void removeDeviceChangeListener (AndroidDebugBridge.IDeviceChangeListener listener)
يزيل المستمع من مجموعة المستمعين الذين سيتم إشعارهم عند توصيل IDevice أو فصله أو عند تغيير خصائصه أو قائمة ERROR(/ClientImpl) الخاصة به.
| المعلَمات | |
|---|---|
listener |
AndroidDebugBridge.IDeviceChangeListener: أداة معالجة الأحداث التي يجب عدم إرسال إشعارات إليها بعد الآن. |
إعادة التشغيل
public boolean restart (long timeout,
TimeUnit unit)يعيد تشغيل adb، ولكن ليس الخدمات المرتبطة به.
| المعلَمات | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| المرتجعات | |
|---|---|
boolean |
صحيح إذا كان ناجحًا. |
إعادة التشغيل
public boolean restart ()
تم إيقاف هذا الإجراء نهائيًا.
قد يتوقف هذا الإجراء إذا لم يستجب ADB. يمكنك استخدام restart(long,TimeUnit) كبديل.
يعيد تشغيل adb، ولكن ليس الخدمات المرتبطة به.
| المرتجعات | |
|---|---|
boolean |
صحيح إذا كان ناجحًا. |
startAdb
public boolean startAdb (long timeout,
TimeUnit unit)يبدأ خادم جهة المضيف adb. يجب عدم استخدام هذه الطريقة عند استخدام خادم ADB المُدار من قِبل المستخدم، لأنّ المستخدم هو من يدير مراحل نشاط الخادم، وليس ddmlib.
| المعلَمات | |
|---|---|
timeout |
long |
unit |
TimeUnit |
| المرتجعات | |
|---|---|
boolean |
صحيح إذا كان ناجحًا |
إغلاق
public static void terminate ()
تنهي هذه الدالة مكتبة ddm. يجب استدعاء هذه الطريقة عند إيقاف التطبيق.