Android Debug Bridge (adb
) عبارة عن أداة سطر أوامر متعددة الاستخدامات تتيح لك التواصل مع
الخاص بك. يسهّل الأمر adb
تنفيذ مجموعة متنوعة من الإجراءات على الأجهزة، مثل التثبيت
تصحيح أخطاء التطبيقات. يوفّر adb
إمكانية الوصول إلى هيكل Unix الذي يمكنك استخدامه لتشغيل مجموعة متنوعة من الأجهزة
الأوامر على الجهاز. وهو برنامج خادم عميل يتضمن ثلاثة مكونات:
- برنامج يرسل الأوامر. يعمل العميل على جهاز التطوير. يمكنك
عليك استدعاء برنامج من الوحدة الطرفية لسطر الأوامر من خلال إصدار أمر
adb
. - برنامج خفي (adbd) ينفذ الأوامر على الجهاز. يعمل البرنامج الخفي كخلفية على كل جهاز.
- خادم يدير الاتصال بين العميل والبرنامج الخفي الخادم يعمل كعملية في الخلفية على جهاز التطوير.
تم تضمين adb
في حزمة أدوات نظام Android SDK Platform. تنزيل هذا المحتوى
باستخدام أداة إدارة حِزم تطوير البرامج (SDK) التي تثبّت
عند الساعة android_sdk/platform-tools/
. إذا كنت تريد الحصول على حزمة تطوير البرامج (SDK) المستقلة لنظام التشغيل Android
حزمة أدوات المنصات، يُرجى تنزيلها من هنا.
للحصول على معلومات حول ربط جهاز لاستخدامه عبر adb
، بما في ذلك كيفية استخدام ميزة "الاتصال"
مساعد Google لتحديد المشاكل الشائعة وحلّها، راجع
تشغيل التطبيقات على جهاز
آلية عمل Adb
عند بدء برنامج adb
، يتحقّق العميل أولاً مما إذا كان هناك
عملية الخادم adb
قيد التشغيل حاليًا. إذا لم يحدث ذلك، يبدأ الجهاز عملية الخادم.
عند بدء تشغيل الخادم، يرتبط بمنفذ TCP المحلي رقم 5037 ويستمع إلى الأوامر المرسلة من
adb
عملاء
ملاحظة: يستخدم جميع عملاء adb
المنفذ 5037 للتواصل
مع خادم adb
.
ويُعِدّ الخادم بعد ذلك الاتصالات بجميع الأجهزة قيد التشغيل.
يحدد موقع أدوات المحاكاة عن طريق فحص المنافذ ذات الأرقام الفردية في النطاق.
5555 إلى 5585، وهو النطاق الذي تستخدمه أول 16 محاكيًا. أين يعثر الخادم على adb
برنامجًا خفيًا (adbd)، يُعِدّ اتصالاً بهذا المنفذ.
ويستخدم كل محاكي زوجين من المنافذ التسلسلية - وهو منفذ زوجي
اتصالات وحدة التحكّم ومنفذًا بأرقام فردية لاتصالات adb
. مثلاً:
المحاكي 1، وحدة التحكم: 5554
المحاكي 1، adb
: 5555
المحاكي 2، وحدة التحكم: 5556
المحاكي 2، adb
: 5557
وهكذا
المحاكي المرتبط بـ adb
على المنفذ 5555 هو نفسه المحاكي كما هو موضح
الذي تتلقى وحدة التحكم الخاصة به التحديثات على المنفذ 5554.
بعد إعداد الخادم للاتصالات بجميع الأجهزة، يمكنك استخدام طلبات adb
لإجراء ما يلي:
الوصول إلى هذه الأجهزة. لأنّ الخادم يدير الاتصالات بالأجهزة والأسماء المعرِّفة
الطلبات من عدة برامج adb
، يمكنك التحكّم في أي جهاز من أي برنامج أو
من نص برمجي.
تفعيل تصحيح الأخطاء عبر Adb على جهازك
لاستخدام أداة Adb مع جهاز متصل عبر USB، يجب تفعيل هذه الميزة. تصحيح أخطاء USB في إعدادات نظام الجهاز، ضمن خيارات المطوّرين في نظام التشغيل Android 4.2 (المستوى 17 من واجهة برمجة التطبيقات) والإصدارات الأحدث، ستظهر شاشة خيارات المطوّرين مخفيًا افتراضيًا. لإظهارها، فعِّل خيارات المطوّرين
يمكنك الآن توصيل جهازك باستخدام كابل USB. يمكنك التحقق من أن جهازك
تم الربط عن طريق تنفيذ adb devices
من
دليل android_sdk/platform-tools/
. في حال الاتصال،
سيظهر لك اسم الجهاز مدرَجًا على أنّه "جهاز".
ملاحظة: عند توصيل جهاز يعمل بالإصدار 4.2.2 من نظام التشغيل Android (واجهة برمجة التطبيقات) المستوى 17) أو أعلى، سيعرض النظام مربّع حوار يسألك عما إذا كان سيتم قبول مفتاح RSA الذي يسمح من خلال هذا الكمبيوتر. تحمي آلية الأمان هذه أجهزة المستخدمين لأنّها تضمن أنّه لا يمكن تنفيذ تصحيح أخطاء USB وأوامر adb الأخرى ما لم تتمكن من فتح قفل الجهاز والموافقة على مربع الحوار.
لمزيد من المعلومات حول الاتصال بجهاز عبر USB، يُرجى قراءة تشغيل التطبيقات على جهاز
الاتصال بجهاز عبر Wi-Fi
ملاحظة: لا تسري التعليمات أدناه على الأجهزة التي تعمل بنظام التشغيل Wear OS. Android 11 (المستوى 30) اطّلِع على دليل تصحيح أخطاء تطبيق Wear OS لدى مزيد من المعلومات.
يتوافق الإصدار Android 11 (المستوى 30 من واجهة برمجة التطبيقات) والإصدارات الأحدث مع إمكانية نشر تطبيقك وتصحيح الأخطاء فيه لاسلكيًا من محطة العمل لديك باستخدام Android Debug Bridge (adb). على سبيل المثال، يمكنك نشر تطبيقك الذي يمكن تصحيح الأخطاء فيه. بالعديد من الأجهزة البعيدة دون الحاجة إلى توصيل جهازك فعليًا عبر USB. يغنيك ذلك عن التعامل مع مشاكل اتصال USB الشائعة، مثل برنامج التشغيل. التثبيت.
قبل البدء في استخدام ميزة "تصحيح الأخطاء اللاسلكي"، اتّبِع الخطوات التالية:
-
تأكَّد من اتصال محطة العمل والجهاز بالشبكة اللاسلكية نفسها.
-
التأكّد من أنّ جهازك يعمل بنظام التشغيل Android 11 (المستوى 30 لواجهة برمجة التطبيقات) أو بإصدار أحدث على الهاتف أو نظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث لأجهزة التلفزيون وWearOS. لمزيد من المعلومات، يُرجى مراجعة التحقق من تحديث إصدار Android
-
في حال استخدام بيئة التطوير المتكاملة (IDE)، تأكَّد من تثبيت أحدث إصدار من "استوديو Android". يمكنك تنزيله هنا.
-
في محطة العمل، يمكنك التحديث إلى أحدث إصدار من أدوات النظام الأساسي لحزمة تطوير البرامج (SDK):
لاستخدام ميزة "تصحيح الأخطاء اللاسلكي"، عليك إقران جهازك بمحطة العمل باستخدام رمز استجابة سريعة أو رمز الإقران. يجب أن تكون محطة العمل والجهاز متصلَين بالشبكة اللاسلكية نفسها. إلى للاتصال بجهازك، اتّبِع الخطوات التالية:
-
تفعيل ميزة "خيارات المطوّرين" على جهازك.
-
افتح "استوديو Android" واختَر إقران الأجهزة باستخدام Wi-Fi من عملية التشغيل. قائمة الإعدادات.
ستظهر نافذة إقران الأجهزة عبر Wi-Fi كما هو موضّح في الشكل 2.
-
على جهازك، انقر على تصحيح الأخطاء اللاسلكي وأقرِن جهازك:
-
لإقران جهازك باستخدام رمز استجابة سريعة، انقر على إقران الجهاز باستخدام رمز استجابة سريعة وامسح ضوئيًا رمز الاستجابة السريعة الذي تم الحصول عليه من النافذة المنبثقة إقران الأجهزة عبر شبكة Wi-Fi والموضّحة في الشكل 2.
-
لإقران جهازك باستخدام رمز إقران، اختَر إقران الجهاز باستخدام رمز الإقران من النافذة المنبثقة إقران الأجهزة عبر شبكة Wi-Fi. على جهازك، اختَر الإقران باستخدام رمز الإقران ودوِّن الرمز المقدّم من ستة أرقام. بعد ظهور جهازك على نافذة إقران الأجهزة عبر شبكة Wi-Fi، يمكنك اختيار إقران وإدخال الرقم الستة. الرمز المعروض على جهازك.
-
-
بعد إقران جهازك، يمكنك محاولة نشر تطبيقك على جهازك.
لإقران جهاز مختلف أو لحذف بيانات الجهاز الحالي على محطة العمل، يمكنك الانتقال إلى تصحيح الأخطاء اللاسلكي على جهازك انقر على اسم محطة العمل ضمن تم الإقران. الأجهزة ثم اختَر حذف.
-
إذا أردت تفعيل ميزة "تصحيح الأخطاء اللاسلكي" وإيقافها بسرعة، يمكنك استخدام مربعات مطوّري الإعدادات السريعة تصحيح الأخطاء اللاسلكي، ويمكنك العثور عليه في خيارات المطوّرين > مطوّر الإعدادات السريعة الشاشات.
اتصال Wi-Fi باستخدام سطر الأوامر
ويمكنك بدلاً من ذلك الاتصال بجهازك باستخدام سطر الأوامر بدون "استوديو Android"، وذلك باتّباع الخطوات التالية: الخطوات التالية:
-
فعِّل خيارات المطوّرين على جهازك، كما هو موضَّح سابقًا.
-
فعِّل تصحيح الأخطاء اللاسلكي على جهازك كما هو موضَّح سابقًا.
-
في محطة العمل، افتح نافذة طرفية وانتقِل إلى
android_sdk/platform-tools
-
يمكنك العثور على عنوان IP ورقم المنفذ ورمز الإقران من خلال اختيار إقران الجهاز مع رمز الإقران. دوِّن عنوان IP ورقم المنفذ ورمز الإقران المعروضة على الجهاز.
-
على الوحدة الطرفية في محطة العمل، شغِّل "
adb pair ipaddr:port
". استخدام عنوان IP ورقم المنفذ من أعلاه. -
أدخِل رمز الإقران، كما هو موضّح أدناه، عندما يُطلب منك ذلك.
حل مشاكل الاتصال اللاسلكي
إذا كنت تواجه مشاكل في الاتصال بجهازك لاسلكيًا، جرِّب ما يلي: خطوات استكشاف الأخطاء وإصلاحها لحل المشكلة.
التحقق مما إذا كانت محطة العمل والجهاز يلبيان المتطلبات الأساسية
تحقق من استيفاء محطة العمل والجهاز للمتطلبات الأساسية المذكورة في بداية هذا القسم.
البحث عن المشاكل المعروفة الأخرى
في ما يلي قائمة بالمشاكل المعروفة الحالية في ميزة "تصحيح الأخطاء اللاسلكي" (باستخدام adb أو Android) ستديو) وكيفية حلها:
-
تعذُّر الاتصال بشبكة Wi-Fi: شبكات Wi-Fi الآمنة، مثل شبكات Wi-Fi التابعة للشركة وقد يحظر هذه الميزة اتصالات بروتوكول p2p ولا يتيح لك الاتصال عبر شبكة Wi-Fi. حاوِل توصيل الجهاز باستخدام كابل أو شبكة Wi-Fi أخرى (غير تابعة للشركة). اتصال لاسلكي باستخدام
adb connect ip:port
عبر tcp/ip (بعد اتصال USB الأولي) يعد خيارًا آخر، في حال كان خيار اللجوء إلى شبكة غير تابعة للشركة خيارًا متاحًا. -
يتم في بعض الأحيان إيقاف اتصال "
adb
" عبر شبكة Wi-Fi تلقائيًا: يمكن أن يحدث ذلك إذا كان الجهاز إما يبدّل شبكات Wi-Fi أو ينقطع الاتصال بالشبكة. لحل المشكلة، يُرجى إعادة الاتصال. إلى الشبكة. -
تعذُّر اتصال الجهاز بعد الإقران: يعتمد
adb
على mDNS لتنفيذ ما يلي: لاكتشاف الأجهزة المقترنة والاتصال بها تلقائيًا. إذا كانت الشبكة أو الجهاز لا تتوافق هذه الإعدادات مع mDNS أو أوقفته، عليك إجراء ذلك الاتصال بالجهاز باستخدامadb connect ip:port
.
يمكنك الاتصال لاسلكيًا باستخدام أحد الأجهزة بعد الاتصال الأولي عبر USB (يتوفّر هذا الخيار فقط على نظام التشغيل Android 10 والإصدارات الأقدم).
ملاحظة: ينطبق سير العمل هذا أيضًا على نظام التشغيل Android 11 ( أعلى)، انتبه إلى أن ذلك ينطوي أيضًا على اتصال *أولي* عبر USB الفعلي.
ملاحظة: لا تنطبق التعليمات التالية على الأجهزة التي تعمل بنظام التشغيل Wear OS. أن يعمل بالإصدار 10 من نظام التشغيل Android (المستوى 29 من واجهة برمجة التطبيقات) أو الإصدارات الأقدم اطّلع على الدليل حول تصحيح أخطاء تطبيق Wear OS لدى مزيد من المعلومات.
يتصل adb
عادةً بالجهاز عبر USB، ولكن يمكنك أيضًا استخدام
adb
عبر شبكة Wi-Fi. لربط جهاز يعمل بنظام التشغيل Android 10 (المستوى 29 من واجهة برمجة التطبيقات) أو الإصدارات الأقدم، عليك اتّباع الخطوات التالية:
اتبع الخطوات الأولية التالية عبر USB:
-
توصيل جهاز Android بكمبيوتر مضيف
adb
بشبكة Wi-Fi مشتركة. - وصِّل الجهاز بالكمبيوتر المضيف باستخدام كابل USB.
-
اضبط الجهاز المستهدف على الاستماع إلى اتصال TCP/IP على المنفذ 5555:
adb tcpip 5555
- افصِل كابل USB من الجهاز الهدف.
- ابحث عن عنوان IP لجهاز Android. فعلى سبيل المثال، على جهاز Nexus، يمكنك العثور على عنوان IP في الإعدادات > لمحة عن الجهاز اللوحي (أو لمحة عن الهاتف) > الحالة > عنوان IP:
-
اتصل بالجهاز باستخدام عنوان IP الخاص به:
adb connect device_ip_address:5555
-
تأكَّد من اتصال الكمبيوتر المضيف بالجهاز المستهدَف:
$ adb devices List of devices attached device_ip_address:5555 device
ملاحظة: يجب الانتباه إلى أنّ بعض نقاط الوصول قد لا تكون
المناسبة. قد تحتاج إلى استخدام نقطة وصول
الذي تم ضبط جدار الحماية له على نحو سليم ليتوافق مع adb
.
تم ربط جهازك الآن بشبكة "adb
".
في حال فقدان اتصال adb
بجهازك:
- تأكَّد من أنّ المضيف لا يزال متصلاً بشبكة Wi-Fi نفسها التي يتصل بها جهاز Android.
-
أعِد الاتصال من خلال تنفيذ خطوة
adb connect
مرة أخرى. -
إذا لم تنجح هذه الطريقة، أعِد ضبط مضيف
adb
:adb kill-server
ثم ابدأ من جديد.
طلب بحث للأجهزة
قبل إصدار أوامر adb
، من المفيد معرفة النُسخ الافتراضية للجهاز المتصلة.
إلى خادم adb
. إنشاء قائمة بالأجهزة المتصلة باستخدام
الأمر devices
:
adb devices -l
استجابةً لذلك، يطبع adb
معلومات الحالة هذه لكل جهاز:
- الرقم التسلسلي: ينشئ
adb
سلسلة لتحديد الجهاز بشكل فريد. حسب رقم المنفذ. في ما يلي مثال على الرقم التسلسلي:emulator-5554
- الحالة: يمكن أن تكون حالة اتصال الجهاز واحدة مما يلي:
offline
: الجهاز غير متصل بـadb
أو غير متصل يستجيب.device
: الجهاز متصل بخادمadb
. لاحظ أن فهذه الحالة لا تشير ضمنًا إلى أن نظام Android تم تشغيله بالكامل وبدأ تشغيله بالكامل اتصال الجهاز بـadb
أثناء عملية تشغيل النظام بعد بدء التشغيل، يعد ذلك هو الوضع الطبيعي حالة الجهاز.no device
: ما مِن جهاز متصل.
- الوصف: إذا قمت بتضمين الخيار
-l
، فسيتم توفيرdevices
يخبرك بطبيعة الجهاز. هذه المعلومات مفيدة عندما يكون لديك أجهزة متعددة. مرتبطة بها لتتمكن من التمييز بينها.
يوضّح المثال التالي الأمر devices
والنتائج الخاصة به. هناك ثلاثة
الأجهزة قيد التشغيل. أول سطرين في القائمة عبارة عن أدوات محاكاة، والسطر الثالث عبارة عن جهاز
الجهاز المتصل بالكمبيوتر.
$ adb devices List of devices attached emulator-5556 device product:sdk_google_phone_x86_64 model:Android_SDK_built_for_x86_64 device:generic_x86_64 emulator-5554 device product:sdk_google_phone_x86 model:Android_SDK_built_for_x86 device:generic_x86 0a388e93 device usb:1-1 product:razor model:Nexus_7 device:flo
المحاكي غير مُدرَج
يتضمن الأمر adb devices
تسلسل أوامر بحالة الأحرف الزاوية يؤدي إلى التشغيل.
عدم ظهور أدوات المحاكاة في مخرجات adb devices
على الرغم من
تكون أدوات المحاكاة مرئية على سطح المكتب. ويحدث ذلك في حال تنفيذ جميع ما يلي:
تكون الشروط صحيحة:
- خادم
adb
ليس قيد التشغيل. - يمكنك استخدام الأمر
emulator
مع الأمر-port
أو الخيار-ports
بقيمة منفذ ذات ترقيم فردي تتراوح بين 5554 و5584. - المنفذ ذو الأرقام الفردية الذي اخترته ليس مشغولاً، لذلك يمكن إجراء اتصال المنفذ في رقم منفذ محدد — أو إذا كان مشغولاً، فسينتقل المحاكي إلى منفذ آخر يلبي المتطلبات في 2.
- وتبدأ تشغيل خادم
adb
بعد بدء المحاكي.
يمكنك تجنب هذا الموقف من خلال السماح للمحاكي باختيار منافذه الخاصة وعدم تشغيله بعد الآن
أقل من 16 محاكيًا في الوقت نفسه. يمكنك أيضًا بدء تشغيل خادم adb
دائمًا قبل
استخدام الأمر emulator
كما هو موضح في الأمثلة التالية.
المثال 1: في تسلسل الأوامر التالي، يبدأ الأمر adb devices
خادم adb
، ولكن لا تظهر قائمة الأجهزة.
أوقِف خادم adb
وأدخِل الأوامر التالية بالترتيب المعروض. لـ AVD
قدِّم اسم AVD صالحًا من نظامك. للحصول على قائمة بأسماء "متوسّط مدة المشاهدة"، اكتب
emulator -list-avds
يمكنك العثور على الأمر emulator
في
دليل android_sdk/tools
.
$ adb kill-server $ emulator -avd Nexus_6_API_25 -port 5555 $ adb devices List of devices attached * daemon not running. starting it now on port 5037 * * daemon started successfully *
المثال 2: في تسلسل الأوامر التالي، تعرض adb devices
قائمة بالأجهزة بسبب بدء تشغيل خادم adb
أولاً.
للاطّلاع على المحاكي في إخراج adb devices
، يجب إيقاف خادم adb
.
ثم إعادة تشغيله بعد استخدام الأمر emulator
وقبل استخدام
adb devices
، على النحو التالي:
$ adb kill-server $ emulator -avd Nexus_6_API_25 -port 5557 $ adb start-server $ adb devices List of devices attached emulator-5557 device
لمزيد من المعلومات حول خيارات سطر الأوامر في المحاكي، راجع سطر الأوامر خيارات بدء التشغيل.
إرسال الأوامر إلى جهاز محدّد
في حال تشغيل أجهزة متعددة، يجب تحديد الجهاز المستهدف.
عند إصدار الأمر adb
.
لتحديد الهدف، اتبع الخطوات التالية:
- استخدِم الأمر
devices
للحصول على الرقم التسلسلي للهدف. - بعد حصولك على الرقم التسلسلي، استخدِم
الخيار
-s
مع الأوامرadb
لتحديد الرقم التسلسلي.- إذا كنت ستصدر العديد من طلبات
adb
، يمكنك ضبط$ANDROID_SERIAL
متغير البيئة لاحتواء الرقم التسلسلي بدلاً من ذلك. - إذا كنت تستخدم كلاً من
-s
و$ANDROID_SERIAL
،-s
عملية إلغاء$ANDROID_SERIAL
- إذا كنت ستصدر العديد من طلبات
في المثال التالي، يتم الحصول على قائمة الأجهزة المتصلة، ثم الرقم التسلسلي
يُستخدم رقم أحد الأجهزة لتثبيت helloWorld.apk
على هذا الجهاز:
$ adb devices List of devices attached emulator-5554 device emulator-5555 device 0.0.0.0:6520 device # To install on emulator-5555 $ adb -s emulator-5555 install helloWorld.apk # To install on 0.0.0.0:6520 $ adb -s 0.0.0.0:6520 install helloWorld.apk
ملاحظة: عند إصدار أمر بدون تحديد جهاز مستهدف
عند توفّر أجهزة متعدّدة، يعرض adb
رسالة خطأ.
"adb: أكثر من جهاز/محاكي واحد".
فإذا كانت لديك عدة أجهزة متاحة ولكن جهاز واحد فقط هو المحاكي،
ويمكنك استخدام الخيار -e
لإرسال الأوامر إلى المحاكي. إذا كانت هناك العديد من
من هذه الأجهزة ولكن تم توصيل جهاز واحد فقط به، يمكنك استخدام خيار "-d
" لإرسال الأوامر إلى
الجهاز.
تثبيت تطبيق
يمكنك استخدام حزمة "adb
" لتثبيت حِزمة APK على محاكي أو جهاز متصل.
باستخدام الأمر install
:
adb install path_to_apk
يجب استخدام الخيار -t
مع install
.
عند تثبيت حِزمة APK تجريبية. لمزيد من المعلومات
اطّلِع على -t
.
لتثبيت حِزم APK متعدّدة، استخدِم install-multiple
. ويكون ذلك مفيدًا في حالة تنزيل جميع
حِزم APK لجهاز معيّن لتطبيقك من Play Console وتريد تثبيتها على
أو عن برنامج فعلي أو جهاز فعلي.
لمزيد من المعلومات حول كيفية إنشاء ملف APK يمكنك تثبيته على محاكي أو جهاز على سبيل المثال، يمكنك الاطّلاع على إنشاء تطبيقك وتشغيله.
ملاحظة: إذا كنت تستخدم "استوديو Android"، لا تحتاج إلى استخدام
adb
مباشرةً لتثبيت تطبيقك على المحاكي أو الجهاز. بدلاً من ذلك، يمكن استخدام "استوديو Android"
يعالج تغليف التطبيق وتثبيته من أجلك.
إعداد قاعدة إعادة توجيه المنفذ
يمكنك استخدام الأمر forward
لإعداد إعادة التوجيه العشوائي للمنفذ، والتي
إعادة توجيه الطلبات عبر منفذ مضيف معين إلى منفذ مختلف على الجهاز.
في ما يلي مثال لإعداد إعادة توجيه منفذ المضيف 6100 إلى منفذ الجهاز 7100:
adb forward tcp:6100 tcp:7100
في ما يلي مثال لإعداد إعادة توجيه منفذ المضيف 6100 إلى local:logd:
adb forward tcp:6100 local:logd
وقد يكون ذلك مفيدًا إذا كنت تحاول تحديد ما يتم إرساله إلى منفذ معين على الخاص بك. ستتم كتابة جميع البيانات المُستلَمة في البرنامج الخفي لتسجيل الدخول إلى النظام وعرضها. في سجلات الجهاز.
نسخ الملفات من جهاز وإليه
استخدِم الأمرَين pull
وpush
لنسخ الملفات إليه.
ومن الجهاز. بخلاف الأمر install
،
الذي ينسخ ملف APK إلى مكان معيّن فقط، أي pull
وpush
نسخ أدلة وملفات عشوائية إلى أي مكان على الجهاز.
لنسخ ملف أو دليل وأدلةه الفرعية من الجهاز: قم بما يلي:
adb pull remote local
لنسخ ملف أو دليل وأدلةه الفرعية إلى الجهاز: قم بما يلي:
adb push local remote
استبدال local
وremote
بالمسارات إلى
الملفات أو الدليل المستهدف على جهاز التطوير (المحلي) وعلى
جهازك (عن بُعد). مثلاً:
adb push myfile.txt /sdcard/myfile.txt
إيقاف خادم adb
في بعض الحالات، قد تحتاج إلى إنهاء عملية خادم adb
ثم إعادة التشغيل.
لحل المشكلة. على سبيل المثال، قد تكون هذه هي الحالة إذا لم يستجِب adb
للأمر.
لإيقاف خادم adb
، استخدِم الأمر adb kill-server
.
ويمكنك بعد ذلك إعادة تشغيل الخادم من خلال إصدار أي أمر adb
آخر.
إصدار أوامر adb
إصدار الأوامر adb
من سطر الأوامر في جهاز التطوير أو من نص برمجي يستخدم
التالي:
adb [-d | -e | -s serial_number] command
وفي حال تشغيل محاكي واحد فقط أو اتصال جهاز واحد فقط به، سيتم ضبط الأمر adb
على النحو التالي:
يتم إرساله إلى هذا الجهاز افتراضيًا. في حالة تشغيل عدة أجهزة محاكاة و/أو تشغيل أجهزة متعددة
تم إرفاقها، يجب استخدام -d
أو -e
أو -s
.
لتحديد الجهاز المستهدف الذي يجب توجيه الأمر إليه.
يمكنك الاطّلاع على قائمة مفصّلة بجميع أوامر adb
المتوافقة باستخدام ما يلي:
:
adb --help
أوامر واجهة الأوامر
يمكنك استخدام الأمر shell
لإصدار أوامر الجهاز من خلال adb
أو بدء
واجهة برمجة تطبيقات تفاعلية. لإصدار أمر واحد، استخدِم الأمر shell
على النحو التالي:
adb [-d |-e | -s serial_number] shell shell_command
لبدء واجهة برمجة تطبيقات تفاعلية على جهاز، استخدِم الأمر shell
على النحو التالي:
adb [-d | -e | -s serial_number] shell
للخروج من واجهة برمجة تطبيقات تفاعلية، اضغط على Control+D
أو اكتب exit
.
يوفّر Android معظم أدوات سطر الأوامر المعتادة لـ Unix. للحصول على قائمة بالأدوات المتاحة، استخدم الأمر التالي:
adb shell ls /system/bin
وتتوفر المساعدة لمعظم الأوامر من خلال الوسيطة --help
.
يوفر العديد من أوامر واجهة الأوامر من قبل
لألعاب Play.
تتوفّر المساعدة العامة القابلة للتطبيق على جميع أوامر Toybox من خلال toybox --help
.
باستخدام الإصدار 23 من أدوات نظام Android الأساسي والإصدارات الأحدث، يتعامل adb
مع الوسيطات بالطريقة نفسها التي
يفعله الأمر ssh(1)
. لقد أدى هذا التغيير إلى حل الكثير من المشكلات
إدخال الأمر
وتجعل من تنفيذ الأوامر التي تحتوي على واجهة الأوامر بأمان
والأحرف التعريفية،
مثل adb install Let\'sGo.apk
. يعني هذا التغيير أن تفسير
تم أيضًا تغيير أي أمر يحتوي على أحرف تعريف واجهة الأوامر.
على سبيل المثال، تحوّل adb shell setprop key 'value'
إلى خطأ الآن، لأن
وتبتلع الغلاف المحلي علامات الاقتباس المفردة ('
)، ويلاحظ الجهاز
adb shell setprop key value
لتشغيل الأمر، اقتبس مرتين،
ومرة للصدفة المحلية ومرة لهيكل التحكم عن بعد، كما تفعل مع
ssh(1)
مثلاً: adb shell setprop key 'value'
راجِع أيضًا أداة سطر أوامر Logcat، وهي مفيدة. لمراقبة سجل النظام.
مدير نشاط المكالمات
في واجهة adb
، يمكنك إصدار أوامر باستخدام أداة "مدير النشاط" (am
) لإجراء ما يلي:
تنفيذ إجراءات نظام متنوعة، مثل بدء نشاط أو فرض إيقاف عملية
بث نية وتعديل خصائص شاشة الجهاز والمزيد.
أثناء استخدام واجهة الأوامر، تكون بنية am
كما يلي:
am command
يمكنك أيضًا إصدار أمر مدير النشاط مباشرةً من adb
.
بدون الدخول إلى واجهة أوامر بعيدة. مثلاً:
adb shell am start -a android.intent.action.VIEW
الأمر | الوصف |
---|---|
start [options] intent
|
بدء Activity محدد بواسطة
intent يمكنك الاطّلاع على مواصفات وسيطات الهدف: الخيارات هي:
|
startservice [options] intent
|
بدء Service المحدد من
intent يمكنك الاطّلاع على مواصفات وسيطات الهدف: الخيارات هي:
|
force-stop package
|
يمكنك فرض إيقاف كل البيانات المرتبطة بـ package .
|
kill [options] package
|
إيقاف جميع العمليات المرتبطة بـ package هذا الأمر يقتل فقط
العمليات الآمنة للقتل والتي لن تؤثر على المستخدم
المستخدم.
الخيارات هي:
|
kill-all
|
إنهاء جميع العمليات التي تتم في الخلفية |
broadcast [options] intent
|
إصدار هدف البث يمكنك الاطّلاع على مواصفات وسيطات الهدف: الخيارات هي:
|
instrument [options] component
|
يمكنك بدء التتبُّع باستخدام
مثال واحد (Instrumentation )
القيمة المستهدَفة عادةً component
هو النموذج test_package/runner_class . الخيارات هي:
|
profile start process file
|
بدء محلل الملفات الشخصية على process ، وكتابة النتائج في file .
|
profile stop process
|
إيقاف محلل الملفات الشخصية على process .
|
dumpheap [options] process file
|
عليك تفريغ جزء من الذاكرة في الرمز process ، ثم إرسال رسالة إلى file . الخيارات هي:
|
set-debug-app [options] package
|
ضبط التطبيق package على تصحيح الأخطاء الخيارات هي:
|
clear-debug-app
|
محو الحزمة السابقة التي تم ضبطها لتصحيح الأخطاء باستخدام "set-debug-app "
|
monitor [options]
|
يمكنك بدء تتبُّع الأعطال أو أخطاء ANR. الخيارات هي:
|
screen-compat {on | off} package
|
التحكم في الشاشة
وضع التوافق الخاص بـ package .
|
display-size [reset | widthxheight]
|
إلغاء حجم عرض الجهاز.
يفيد هذا الأمر في اختبار تطبيقك على مختلف أحجام الشاشات من خلال محاكاة
دقة الشاشة باستخدام جهاز بشاشة كبيرة والعكس صحيح.
مثال: |
display-density dpi
|
إلغاء كثافة عرض الجهاز.
يفيد هذا الأمر في اختبار تطبيقك على مستوى كثافات الشاشة المختلفة من خلال محاكاة اختبار كثافة عالية.
الشاشة باستخدام شاشة منخفضة الكثافة، والعكس صحيح.
مثال: |
to-uri intent
|
اطبع مواصفات intent المحددة كمعرّف موارد منتظم (URI). يمكنك الاطّلاع على مواصفات وسيطات الهدف: |
to-intent-uri intent
|
يجب طباعة مواصفات intent المحددة كمعرّف الموارد المنتظم (URI) intent: . يمكنك الاطّلاع على مواصفات وسيطات الهدف: |
مواصفات وسيطات الهدف
بالنسبة إلى أوامر مدير النشاط التي تستخدم الوسيطة intent
، يمكنك:
حدد الغرض بالخيارات التالية:
مدير حزمة المكالمات (pm
)
في واجهة adb
، يمكنك إصدار أوامر باستخدام أداة إدارة الحِزم (pm
) لتنفيذ ما يلي:
تنفيذ إجراءات وطلبات بحث على حِزم التطبيقات المثبَّتة على الجهاز.
أثناء استخدام واجهة الأوامر، تكون بنية pm
كما يلي:
pm command
يمكنك أيضًا إصدار أمر مدير حزم من adb
مباشرةً.
بدون الدخول إلى واجهة أوامر بعيدة. مثلاً:
adb shell pm uninstall com.example.MyApp
الأمر | الوصف |
---|---|
list packages [options] filter
|
طباعة جميع الحزم (اختياريًا فقط)
أولئك الذين يحتوي اسم حزمتهم على النص في filter . الخيارات:
|
list permission-groups
|
طباعة كل مجموعات الأذونات المعروفة |
list permissions [options] group
|
طباعة جميع الأذونات المعروفة، اختياريًا فقط
المشاركين في group الخيارات:
|
list instrumentation [options]
|
إدراج جميع حِزم الاختبار الخيارات:
|
list features
|
طباعة جميع ميزات النظام. |
list libraries
|
طباعة جميع المكتبات المتوافقة مع الجهاز الحالي |
list users
|
طباعة كافة المستخدمين على النظام. |
path package
|
طباعة المسار إلى حزمة APK الخاصة بـ package المحدّد
|
install [options] path
|
تثبيت حزمة محدَّدة من قِبل path على النظام الخيارات:
|
uninstall [options] package
|
إزالة حزمة من النظام. الخيارات:
|
clear package
|
حذف جميع البيانات المرتبطة بالحزمة. |
enable package_or_component
|
تمكين الحزمة أو المكون المحدد (يُكتب كـ "package/class"). |
disable package_or_component
|
إيقاف الحزمة أو المكوِّن المحدَّد (يُكتب كـ "package/class") |
disable-user [options] package_or_component
|
الخيارات:
|
grant package_name permission
|
منح الإذن لتطبيق. على الأجهزة التي تعمل بنظام التشغيل Android 6.0 (المستوى 23 من واجهة برمجة التطبيقات) أو مستوى أعلى، يمكن أن يكون الإذن أي إذن تم تضمينه في بيان التطبيق. على الأجهزة التي تعمل بالإصدار 5.1 من نظام التشغيل Android (المستوى 22 لواجهة برمجة التطبيقات) والإصدارات الأقدم، يجب أن يكون إذنًا اختياريًا يتم تحديده من خلال التطبيق. |
revoke package_name permission
|
إبطال إذن من التطبيق على الأجهزة التي تعمل بنظام التشغيل Android 6.0 (مستوى واجهة برمجة التطبيقات) 23) والإصدارات الأحدث، يمكن أن يكون الإذن أي إذن تم تضمينه في بيان التطبيق. على الأجهزة التي تعمل بالإصدار 5.1 من نظام التشغيل Android (المستوى 22 لواجهة برمجة التطبيقات) والإصدارات الأقدم، يجب أن يكون إذنًا اختياريًا يتم تحديده من خلال التطبيق. |
set-install-location location
|
تغيير موقع التثبيت التلقائي قيم الموقع الجغرافي:
ملاحظة: هذه الميزة مخصَّصة فقط لتصحيح الأخطاء. يمكن أن يؤدي استخدام هذا إلى التوقف عن استخدامها وغيرها من السلوكيات غير المرغوب فيها. |
get-install-location
|
تعرِض هذه السمة موقع التثبيت الحالي. القيم المعروضة:
|
set-permission-enforced permission [true | false]
|
حدِّد ما إذا كان يجب فرض الإذن المحدَّد. |
trim-caches desired_free_space
|
اقتطع ملفات ذاكرة التخزين المؤقت لتصل إلى المساحة الخالية المحددة. |
create-user user_name
|
أنشئ مستخدمًا جديدًا باستخدام user_name المحدّد،
طباعة معرّف المستخدم الجديد للمستخدم.
|
remove-user user_id
|
أزِل المستخدم الذي يتضمّن user_id المحدّد.
حذف جميع البيانات المرتبطة بهذا المستخدم
|
get-max-users
|
طباعة الحد الأقصى لعدد المستخدمين الذين يدعمهم الجهاز. |
get-app-links [options] [package]
|
يمكنك طباعة حالة إثبات ملكية النطاق لنطاق package المحدَّد أو للجميع. الحزم إذا لم يتم تحديد أي منها. يتم تعريف رموز الولاية على النحو التالي:
الخيارات هي:
|
reset-app-links [options] [package]
|
إعادة ضبط حالة إثبات ملكية النطاق للحزمة المحدّدة أو للجميع الحزم إذا لم يتم تحديد أي منها.
الخيارات هي:
|
verify-app-links [--re-verify] [package]
|
إعلان طلب إثبات ملكية جهاز package المحدَّد أو لجميع المستخدمين الحزم إذا لم يتم تحديد أي منها. لا يتم الإرسال إلا إذا سبق أن تم إرسال الطرد لم يتم تسجيل رد.
|
set-app-links [--package package] state domains
|
يمكنك تحديد حالة النطاق لحزمة يدويًا. يجب أن يكون النطاق: التي أعلنتها الحزمة على أنها التحقق التلقائي كي تعمل. هذا الأمر لن يُبلغ عن تعذُّر النطاقات التي لا يمكن تطبيقها.
|
set-app-links-user-selection --user user_id [--package package]
enabled domains
|
يمكنك ضبط حالة اختيار المستخدم المضيف للحزمة يدويًا. النطاق عن طريق الحزمة لكي يعمل. لن يكون هذا الأمر للإبلاغ عن تعذُّر النطاقات التي تعذّر تطبيقها.
|
set-app-links-user-selection --user user_id [--package package]
enabled domains
|
يمكنك ضبط حالة اختيار المستخدم المضيف للحزمة يدويًا. النطاق عن طريق الحزمة لكي يعمل. لن يكون هذا الأمر للإبلاغ عن تعذُّر النطاقات التي تعذّر تطبيقها.
|
set-app-links-allowed --user user_id [--package package] allowed
|
يمكنك إيقاف/تفعيل إعداد معالجة الرابط الذي تم التحقق منه تلقائيًا لإحدى الحِزم.
|
get-app-link-owners --user user_id [--package package] domains
|
يمكنك طباعة مالكي نطاق معينين لمستخدم معين بترتيب أولوية منخفضة إلى عالية.
|
الاتصال بمدير سياسة الجهاز (dpm
)
لمساعدتك في تطوير تطبيقات إدارة الأجهزة واختبارها، يمكنك حل
إلى أداة مدير سياسة الجهاز (dpm
). استخدِم الأداة للتحكّم في العناصر النشطة
المشرف أو تغيير بيانات حالة السياسة على الجهاز.
بنية dpm
أثناء استخدام واجهة الأوامر هي:
dpm command
يمكنك أيضًا إصدار أمر من "مدير سياسات الأجهزة" مباشرةً من adb
.
بدون إدخال واجهة عن بُعد:
adb shell dpm command
الأمر | الوصف |
---|---|
set-active-admin [options] component
|
لضبط component كمشرف نشط.
الخيارات هي:
|
set-profile-owner [options] component
|
ضبط component كمشرف نشط وحزمته كمالك للملف الشخصي لمستخدم حالي
الخيارات هي:
|
set-device-owner [options] component
|
يمكنك ضبط "component" كمشرف نشط وضبط الحزمة كمالك للجهاز.
الخيارات هي:
|
remove-active-admin [options] component
|
إيقاف مشرف نشط يجب أن يفصح التطبيق عن
android:testOnly
في البيان. يؤدي هذا الأمر أيضًا إلى إزالة مالكي الأجهزة والملفات الشخصية.
الخيارات هي:
|
clear-freeze-period-record
|
يؤدي هذا الإجراء إلى محو سجلّ الجهاز الذي تم ضبطه مسبقًا لفترات إيقاف التحديثات التي يتم إجراؤها على تحديثات النظام عبر الهواء. هذا مفيد
تجنبًا لقيود جدولة الجهاز عند تطوير التطبيقات التي تدير فترات تجميد البيانات. عرض
إدارة تحديثات النظام
يتوفّر هذا الإعداد على الأجهزة التي تعمل بالإصدار 9.0 من نظام التشغيل Android (المستوى 28 من واجهة برمجة التطبيقات) والإصدارات الأحدث. |
force-network-logs
|
يمكنك إجبار النظام على تجهيز أي سجلات شبكة حالية لاستردادها من خلال وحدة التحكّم بسياسة الجهاز (DPC). إذا كانت هناك
البيانات أو سجلات DNS المتاحة، ستتلقى وحدة التحكم في سياسة الجهاز (DPC)
onNetworkLogsAvailable()
معاودة الاتصال. راجِع تسجيل الأنشطة على الشبكة.
هذا الأمر مقيد بمعدل. يتوفّر هذا الإعداد على الأجهزة التي تعمل بالإصدار 9.0 من نظام التشغيل Android (المستوى 28 من واجهة برمجة التطبيقات) والإصدارات الأحدث. |
force-security-logs
|
فرض إتاحة أي سجلّات أمان حالية لوحدة التحكّم بسياسة الجهاز (DPC) على النظام إذا كانت هناك سجلات
حاليًا، تتلقى وحدة التحكّم بسياسة الجهاز
onSecurityLogsAvailable()
معاودة الاتصال. راجِع تسجيل جهاز المؤسسة
نشاطك.
هذا الأمر مقيد بمعدل. يتوفّر هذا الإعداد على الأجهزة التي تعمل بالإصدار 9.0 من نظام التشغيل Android (المستوى 28 من واجهة برمجة التطبيقات) والإصدارات الأحدث. |
أخذ لقطة شاشة
الأمر screencap
هو أداة مساعدة لأخذ لقطة شاشة من جهاز.
العرض.
أثناء استخدام واجهة الأوامر، تكون بنية screencap
كما يلي:
screencap filename
لاستخدام screencap
من سطر الأوامر، أدخِل ما يلي:
adb shell screencap /sdcard/screen.png
في ما يلي مثال لجلسة لقطة شاشة باستخدام واجهة adb
لأخذ لقطة الشاشة
والأمر pull
لتنزيل الملف من الجهاز:
$ adb shell shell@ $ screencap /sdcard/screen.png shell@ $ exit $ adb pull /sdcard/screen.png
تسجيل فيديو
الأمر screenrecord
هو أداة واجهة أوامر لتسجيل عرض الأجهزة.
الإصدار 4.4 من نظام التشغيل Android (المستوى 19 لواجهة برمجة التطبيقات) والإصدارات الأحدث. تسجل الأداة نشاط الشاشة على جهاز MPEG-4
الملف. يمكنك استخدام هذا الملف لإنشاء فيديوهات ترويجية أو تدريبية أو لتصحيح الأخطاء والاختبار.
في واجهة الأوامر، استخدِم الصيغة التالية:
screenrecord [options] filename
لاستخدام screenrecord
من سطر الأوامر، أدخِل ما يلي:
adb shell screenrecord /sdcard/demo.mp4
أوقِف تسجيل الشاشة بالضغط على Control+C. بخلاف ذلك، لن يتم تسجيل
يتوقف تلقائيًا عند ثلاث دقائق أو عند ضبط الحد الزمني من قِبل --time-limit
.
لبدء تسجيل شاشة جهازك، شغِّل الأمر screenrecord
للتسجيل.
الفيديو. بعد ذلك، شغِّل الأمر pull
لتنزيل الفيديو من الجهاز إلى المضيف.
الكمبيوتر. إليك مثال على جلسة تسجيل:
$ adb shell shell@ $ screenrecord --verbose /sdcard/demo.mp4 (press Control + C to stop) shell@ $ exit $ adb pull /sdcard/demo.mp4
يمكن للأداة screenrecord
التسجيل بأي درجة دقة ومعدل نقل بيانات متوافقَين.
مباشرةً، مع الاحتفاظ بنسبة العرض إلى الارتفاع لشاشة الجهاز. السجلات الأداة الأصلية
درجة دقة العرض والاتجاه افتراضيًا، بحد أقصى ثلاث دقائق.
حدود الأداة screenrecord
:
- لا يتم تسجيل الصوت مع ملف الفيديو.
- لا تتوفر ميزة تسجيل الفيديو على الأجهزة التي تعمل بنظام التشغيل Wear OS.
- قد لا تتمكن بعض الأجهزة من التسجيل بدرجة دقة العرض الأصلية. إذا واجهت مشاكل في تسجيل الشاشة، جرِّب استخدام درجة دقة أقل للشاشة.
- لا يتوفّر تدوير الشاشة أثناء التسجيل. في حال تدوير الشاشة أثناء يتم اقتطاع جزء من الشاشة في التسجيل
الخيارات | الوصف |
---|---|
--help
|
عرض بنية الأمر وخياراته |
--size widthxheight
|
اضبط حجم الفيديو: 1280x720 . تكون القيمة التلقائية هي القيمة الأصلية للجهاز.
درجة دقة الشاشة (إذا كانت متوافقة)، 1280x720 في حال عدم توفّرها. للحصول على أفضل النتائج، استخدِم مقاسًا متوافقًا
بواسطة برنامج الترميز المتقدم لترميز الفيديو (AVC) على جهازك. |
--bit-rate rate |
عيِّن معدل نقل بيانات الفيديو بالميغابت في الثانية. القيمة التلقائية هي 20 ميغابت في الثانية.
يمكنك زيادة معدل نقل البيانات لتحسين جودة الفيديو، ولكن يؤدي ذلك إلى الحصول على فيلم أكبر
الملفات. يوضح المثال التالي معدل نقل بيانات التسجيل على 6 ميغابت في الثانية:
screenrecord --bit-rate 6000000 /sdcard/demo.mp4 |
--time-limit time |
ضبط الحد الأقصى لوقت التسجيل بالثواني. القيمة التلقائية والحد الأقصى هي 180. (3 دقائق). |
--rotate |
عليك تدوير الناتج بمقدار 90 درجة. هذه الميزة تجريبية. |
--verbose |
عرض معلومات السجل على شاشة سطر الأوامر. إذا لم يتم ضبط هذا الخيار، لا تعرض الأداة أي معلومات أثناء التشغيل. |
قراءة ملفات ART الشخصية للتطبيقات
بدءًا من الإصدار Android 7.0 (المستوى 24 من واجهة برمجة التطبيقات)، يجمع وقت تشغيل Android (ART) الملفات الشخصية للتنفيذ التطبيقات المثبّتة، والتي تُستخدم لتحسين أداء التطبيقات. فحص الملفات الشخصية التي تم جمعها فهم الأساليب التي يتم تنفيذها بشكل متكرر والفئات التي يتم استخدامها أثناء بدء تشغيل التطبيق.
ملاحظة: لا يمكن استرداد الملف الشخصي للتنفيذ إلا. اسم الملف إذا كان لديك حق الوصول إلى الجذر في نظام الملفات، على سبيل المثال، في أحد المحاكيات.
لإنشاء نموذج نصي لمعلومات الملف الشخصي، استخدِم الأمر التالي:
adb shell cmd package dump-profiles package
لاسترداد الملف الذي تم إنتاجه، استخدم:
adb pull /data/misc/profman/package.prof.txt
إعادة ضبط الأجهزة الاختبارية
إذا اختبرت تطبيقك على عدة أجهزة اختبار، قد يكون من المفيد إعادة ضبط جهازك بين
الاختبار، مثل إزالة بيانات المستخدمين وإعادة ضبط بيئة الاختبار. يمكنك تنفيذ المصنع
إعادة ضبط جهاز اختباري يعمل بالإصدار 10 من نظام التشغيل Android (المستوى 29 من واجهة برمجة التطبيقات) أو أعلى باستخدام
testharness
أمر adb
Shell على النحو الموضّح:
adb shell cmd testharness enable
عند استعادة الجهاز باستخدام testharness
، يحتفظ الجهاز تلقائيًا بنسخة احتياطية من الإعلانات المتجاوبة على شبكة البحث.
يسمح بتصحيح الأخطاء من خلال محطة العمل الحالية في مكان ثابت. أي، بعد
إعادة ضبط الجهاز، يمكن لمحطة العمل مواصلة تصحيح الأخطاء وإصدار أوامر adb
الجهاز بدون تسجيل مفتاح جديد يدويًا.
بالإضافة إلى ذلك، يمكنك مواصلة اختبار تطبيقك بطريقة أسهل وأكثر أمانًا، وذلك باستخدام
تؤدي testharness
لاستعادة جهاز إلى تغيير إعدادات الجهاز التالية أيضًا:
- يضبط الجهاز إعدادات نظام معيّنة بحيث لا تظهر معالجات الإعداد الأولي للجهاز. وهذا يعني أنّ الجهاز يدخل حالة يمكنك من خلالها تثبيت تطبيقك وتصحيح أخطائه واختباره بسرعة.
- الإعدادات:
- لإيقاف شاشة القفل.
- يعمل هذا الإعداد على إيقاف تنبيهات الطوارئ.
- لإيقاف المزامنة التلقائية للحسابات.
- لإيقاف التحديثات التلقائية للنظام.
- وصف آخر:
- لإيقاف تطبيقات الأمان المثبَّتة مسبقًا.
إذا كان تطبيقك بحاجة إلى رصد إعدادات "testharness
" التلقائية والتكيّف معها
الأمر، فاستخدم ملف
ActivityManager.isRunningInUserTestHarness()
SQL Lite
تبدأ sqlite3
برنامج سطر الأوامر sqlite
لفحص قواعد بيانات SQLite.
وهو يتضمن أوامر مثل .dump
لطباعة محتوى جدول
.schema
لطباعة عبارة SQL CREATE
لجدول حالي.
يمكنك أيضًا تنفيذ أوامر SQLite من سطر الأوامر، كما هو موضح:
$ adb -s emulator-5554 shell $ sqlite3 /data/data/com.example.app/databases/rssitems.db SQLite version 3.3.12 Enter ".help" for instructions
ملاحظة: لا يمكن الوصول إلا إلى قاعدة بيانات SQLite. إذا كان لديك حق الوصول إلى الجذر في نظام الملفات، على سبيل المثال، على المحاكي.
لمزيد من المعلومات، يمكنك الاطّلاع على مستندات سطر أوامر sqlite3
.
خلفيات Ab USB
يمكن لخادم adb التفاعل مع حزمة USB من خلال خلفيتين. يمكنها إما استخدام البيانات
الخلفية لنظام التشغيل (Windows أو Linux أو macOS) أو يمكنه استخدام واجهة libusb
الخلفية.
بعض الميزات، مثل attach
وdetach
ورصد سرعة USB:
متاح فقط عند استخدام الواجهة الخلفية libusb
.
يمكنك اختيار واجهة خلفية باستخدام متغيّر البيئة ADB_LIBUSB
.
إذا لم يتم ضبط السياسة، يستخدم adb واجهته الخلفية التلقائية. ويختلف السلوك التلقائي باختلاف نظام التشغيل. وقت البدء
مع الإصدار 34 من ADB،
يتم استخدام الواجهة الخلفية liubusb
بشكل تلقائي على جميع أنظمة التشغيل باستثناء Windows حيث يتم استخدام الواجهة الخلفية
يتم استخدامه افتراضيًا. إذا كانت السمة ADB_LIBUSB
فإنه يحدد ما إذا كان سيتم استخدام الواجهة الخلفية الأصلية أو libusb
. يمكنك الاطّلاع على
صفحة دليل adb
لمزيد من المعلومات حول متغيرات بيئة adb.
خلفيات adb mDNS
يمكن لـ ADB استخدام بروتوكول نظام أسماء النطاقات للبث المتعدد الوجهات للاتصال بالخادم والأجهزة تلقائيًا. يشحن خادم ADB مع خلفيتين، Bonjour (mdnsResponseer من Apple) وOpenscreen.
تحتاج الواجهة الخلفية Bonjour إلى برنامج خفي لتشغيله على الجهاز المضيف.
يعمل البرنامج الخفي لنظام التشغيل macOS من Apple دائمًا، ولكن على المستخدم التأكّد من أنّ البرنامج الخفي "mdnsd
" يعمل على نظامَي التشغيل Windows وLinux.
إذا عرض الأمر adb mdns check
خطأ، فمن المحتمل أن ADB يستخدم الواجهة الخلفية Bonjour ولكن ليس هناك برنامج خفي لـ Bonjour قيد التشغيل.
لا تحتاج الخلفية Openscreen إلى تشغيل برنامج خفي على الجهاز. تبدأ خلفية Openscreen على نظام التشغيل macOS باستخدام الإصدار ADB v35. يعتمد الإصدار 34 من ADB على نظامي Windows وLinux.
يستخدم ADB بشكل افتراضي خلفية Bonjour. يمكن تغيير هذا السلوك باستخدام متغير البيئة ADB_MDNS_OPENSCREEN
(تم الضبط على 1
أو 0
)
لمزيد من التفاصيل، يُرجى الاطّلاع على صفحة دليل Ads Data Hub.