هل يُمكن تفعيل وضع تصحيح USB “أو Debugging” باستخدام أوامر ADB؟
إن كنت تبحث عن طريقة تشغيل خيار تصحيح أخطاء USB أو ما تُعرف أيضًا باسم USB Debugging Mode والذي عادةً يكون بداخل خيارات المبرمج على هاتفك الاندرويد باستخدام سطور أوامر ADB – على الأرجح إذًا أنك في موقف صعب وتحتاج معرفة كيفية فعل ذلك بشِدة الآن! وتريد فتح هذا الخيار ربما لأنك نسيت رمز المرور، أو لأن شاشة هاتفك تالفة الآن، أو لأي سبب آخر. لذا، السؤال هو، هل يُمكنك تشغيل هذا الخيار والهاتف مقفل باستخدام الكمبيوتر؟ أو هناك أداة لتفعيل خيارات المطور متاحة لهواتف الاندرويد؟
في الواقع أنني قرأت هذا السؤال من أحد قارئينا منذ عِدة أيام. ورغم أنني أعلم أنه ليس بالإمكان تفعيل وضع USB Debugging بداخل خيارات المبرمج باستخدام أمر ADB على الاندرويد، إلا أنني قررت البحث عن طريقة لفعل ذلك. وبعد البحث لعِدة ساعات، وجدت أن هناك بعض الأشخاص الذين يدعون إمكانية تشغيل هذا الخيار على هواتفهم ذوات الشاشات المكسورة باستخدام سطور الأوامر من خلال الكمبيوتر على الموبايل!
لذا، هل يُمكنك تشغيل USB Debugging من الكمبيوتر؟
بطبيعة الحال، الإجابة المنطقية هنا هي “لا“! وما هو السبب؟ حسنًا، نعرف جميعًا أن اتصال ADB من الكمبيوتر إلى الموبايل يتطلب موافقة المستخدم على الاندرويد وذلك حتى تستطيع في النهاية إرسال سطور الأوامر التي تريدها والتحكم بأجزاء النظام بشكل عام. شرط الموافقة من هاتف الاندرويد نفسه هو عبارة عن طبقة حماية إضافية على النظام وإلا يُمكنك لأي شخص الاستحواذ على هاتفك (المقفل برقم سري) والتلاعب به وسحب أيًا من محتوياته بدون موافقتك!
والوضع الوحيد الذي يُمكِّنك من التعامل مع الهاتف مستخدمًا خصائص ADB (رغم عدم تفعيل وضح تصحيح أخطاء USB) هو وضع الريكفري فقط عندما تقوم باستخدام خيار Apply update from ADB لتثبيت التحديثات الرسمية على الهاتف، في هذه الحالة فقط يُمكنك للكمبيوتر أن يتعرف على هاتفك.
ولكن مع ذلك، إن حاولت إرسال أي سطر من أوامر ADB shell أثناء وجود الهاتف في وضع الريكفري، ستجد أن الاستجابة على هذا الأمر مجرد خطأ كما يظهر تاليًا:
PS C:\> adb shell
error: closed
PS C:\>
أما إذا ما صادف أنك قمت بتثبيت ريكفري TWRP المطوّر على هاتفك من قبل، ستكون هنا فرصتك أفضل في التعامل مع هذه المشكلة.
تفعيل خيار تصحيح أخطاء USB من الكمبيوتر
لذا، ما هي الطريقة “التي ربما” تُساعدك في تشغيل خيار تصحيح USB بداخل خيارات البرنامج بدون أن تحتاج إلى التعامل مع الشاشة الهاتف، أي باستخدام الكمبيوتر فقط؟
المستخدم Pantasio من GitHub ادعى أنه كان قادرًا على تفعيل هذا الخيار عندما كان الهاتف في وضع الريكفري الرسمي وذلك باستخدام سطور أوامر ADB. في الواقع أنني شخصيًا “غير واثقًا” ان هذه الطريقة تعمل أم لا لأنني قمت بتجربتها بنفسي على هاتف Galaxy Note 10 Plus حيث أنني قمت أولًا بإغلاق خيار USB Debugging في خيارات المبرمج بداخل الإعدادات ثم بعد ذلك قمت بتنفيذ تعليمات الشرح، ولم أنجح في ذلك!
على كلٍ، إذا أردت التجربة بنفسك فلك مطلق الحرية، علمًا أن الخطوات التالية ستعمل فقط إذا كان البوت لودر الخاص بهاتفك مفتوح مسبقًا.
- أعِد تشغيل هاتفك بداخل وضع الريكفري.
- حمِّل أدوات Platform-tools وثبِّتها على الكمبيوتر (رابط مباشر).
- افتح نافذة PowerShell بداخل مجلد أدوات Platform (زر Shift + زر الفأرة الأيمن).
- في نافذة الأوامر اكتب السطر التالي ثم اضغط Enter (يُمكنك نسخه ولصقه بداخل النافذة):
adb devices
- إذا كانت الاستجابة عبارة حروف وأرقام، هذا يعني أن الكمبيوتر قد تعرّف على الهاتف في وضع الريكفري، وهذا من حظك لأنني لم أستطع تخطي هذه الخطوة!
- الآن اكتب أمر
adb shell
ثم اضغط Enter. ثم بعد ذلك اكتب أمرmount data
ثمmount system
بالترتيب واضغط Enter.adb shell $ mount data $ mount system
- الآن ستحتاج إلى سحب ملف persist.sys.usb.config من هاتفك إلى الكمبيوتر. ولتفعل ذلك اكتب السطر التالي ولا تنسى استبدال كلمة Mohamedovic باسم جهازك الحالي وكذلك كلمة Desktop في حالة أنك تريد حِفظ الملف في مكان مختلف.
adb pull /data/property/persist.sys.usb.config C:\Users\Mohamedovic\Desktop\
- على سطح المكتب ستجد ملف persist.sys.usb.config، افتحه باستخدام برنامج Notepad وغيّر محتواه إلى “mtp,adb” ثم اغلقه مع حفظ التغييرات. والآن ستحتاج لاستخدام أمر
adb push
حتى تعيد إرساله مرة أخرى إلى الهاتف (ولا تنسى تغيير ما يلزم):adb push "C:\Users\Mohamedovic\Desktop/persist.sys.usb.config" /data/property
- الآن حان موعِد سحب ملف build.prop من هاتفك على الكمبيوتر بنفس الطريقة:
adb pull /system/build.prop C:\Users\Mohamedovic\Desktop\
- افتح ملف build.prop (الذي ستجده على سطح المكتب) مستخدمًا أي تطبيق لتعديل النصوص مثل NotePad++ مثلا وأضِف السطور التالية في نهايته:
persist.service.adb.enable=1 persist.service.debuggable=1 persist.sys.usb.config=mtp,adb
- اغلق الملف واحفظ التغييرات الجديدة ثم بنفس الطريقة أعِد إرساله مرة أخرى للهاتف مستخدمًا الأمر التالي:
adb push "C:\Users\Mohamedovic\Desktop/build.prop" /system/
حسب زعم مستخدم GitHub، إذا قمت باتباع جميع الخطوات التالية بعناية، وبدون أخطاء، ولم تنسى أي خطوة منهم، سيكون وضع تصحيح أخطاء USB أو USB debugging بداخل خيارات المبرمج قد تم تفعيله الآن. في هذه المرحلة ما ستحتاجه هو إعادة تشغيل الهاتف بداخل النظام مرة أخرى مستخدمًا السطر التالي:
adb reboot
الآن مفترض أن خيار USB debugging مفعّل على الهاتف، ولكن هناك شيء إضافي يجب أن تعرفه! عندما تحاول استخدام سطور أوامر ADB أثناء عمل الهاتف على النظام وليس الريكفري، أنت ما زِلت تحتاج إلى السماح للكمبيوتر بإرسال سطور الأوامر إلى الهاتف.
لذلك إذا بطريقةٍ ما كنت قادرًا على رؤية إشعار RSA Key ظاهرًا على شاشة الهاتف، ستحتاج هنا للنقر على زر OK. وإذا ما صادف أنك شاشة هاتفك تالفة ولا تستطع النقر عليه، سيكون خيارك هنا هو تركيب فأرة كمبيوتر عبر محوّل USB والنقر على زر OK بواسطة الفأرة.