android - للاستثمار - البنك الاسيوي للتنمية




شل بنك التنمية الآسيوي يعمل سو ولكن لا يعمل الجذر بنك التنمية الآسيوي (5)

أنا استخدم لإدخال وضع su في abd shell

شل بنك التنمية الآسيوي "سو"

قمت بتجذير جهاز Galaxy S3 غير المؤمن (SGH-T999)

الآن ، أحاول تشغيل adb root من موجه أوامر Windows ، ومع ذلك ، فإنني أتلقى adbd cannot run as root in production builds كخطأ adbd cannot run as root in production builds . لذا ، فإن أول شيء راجعت هو ما إذا كان هاتفي متجذر بالفعل؟

لذلك حاولت ما يلي:

افتح موجه الأوامر

$adb devices // lists my device
$adb shell //goes to shell
$su // opens a 'SuperSu' prompt on my phone and I 'Grant' permission
# // Before following the rooting instructions, I was getting 'no su command found' in the previous step. So, I believe my phone is ROOTED. **Correct me if I'm wrong.**

ومع ذلك ، عندما أفعل adb root ، أحصل على adbd cannot run as root in production builds خطأ. لذا ، فقد اعتقدت أنه قد يتعين علي القيام ببعض الأشياء الإضافية بما يتجاوز ما فعلته أعلاه. جربت جميع الحلول في أسئلة SO التالية:

لا شيء مما سبق يعمل بالنسبة لي. كل ما يفعلونه هو إعطاء وصول ROOT داخل SHELL. أريد أن يعمل adb root حتى أتمكن من تنفيذ أوامر adb المختلفة دون الخوض في shell.


إذا كنت بحاجة حقًا إلى تشغيل ADB root ، فإن الطريقة الأسرع والأسهل هي تثبيت ROM مخصصة لـ Android والأكثر شيوعًا هو CyanogenMod لأنه يحتوي على خيارات Root Access في قائمة خيارات المطور حيث يمكنك اختيار منح الوصول الجذر apps and ADB لقد استخدمت CM من قبل ولكن نظرًا لأنه لم يتم تطويرها بعد الآن ، فقد حاولت البحث عن بعض الحلول هناك. على الرغم من أن CyanogenMod لا يزال بديلاً جيدًا لأنه لا يحتوي على bloatware.

أحد البدائل التي adbd insecure من أحد الأصدقاء هو استخدام تطبيق adbd insecure والذي يمكنك تجربته من هنا: https://forum.xda-developers.com/showthread.php?t=1687590 . في حالتي ، يعمل بشكل ممتاز مع نواة مخصصة لنظام أندرويد ، ولكن ليس مع ذاكرة ROM لنظام Android (الفانيليا android فقط). يمكنك تجربة بدائل أخرى أيضًا مثل تعديل boot.img على Android ROM.


حسب التصميم ، يعمل الأمر userdebug adb root في تطوير userdebug فقط (على userdebug eng و userdebug التي لها ro.debuggable=1 افتراضيًا). حتى تتمكن من تمكين الأمر ro.debuggable=1 adb root على جهازك الذي بخلاف ذلك ، فقط أضف ro.debuggable=1 سطر واحد إلى أحد الملفات التالية:

/system/build.prop
/system/default.prop
/data/local.prop

إذا كنت ترغب في بدء تشغيل ro.secure=0 adb shell root افتراضيًا - ro.secure=0 بإضافة ro.secure=0 أيضًا.

بدلاً من ذلك ، يمكنك استخدام adbd binary الذي تم تعديله (والذي لا ro.debuggable عن ro.debuggable )

من https://android.googlesource.com/platform/system/core/+/master/adb/daemon/main.cpp

#if defined(ALLOW_ADBD_ROOT)
// The properties that affect `adb root` and `adb unroot` are ro.secure and
// ro.debuggable. In this context the names don't make the expected behavior
// particularly obvious.
//
// ro.debuggable:
//   Allowed to become root, but not necessarily the default. Set to 1 on
//   eng and userdebug builds.
//
// ro.secure:
//   Drop privileges by default. Set to 1 on userdebug and user builds.

في بعض الأقراص المدمجة الصديقة للمطورين ، يمكنك فقط تمكين الوصول إلى الجذر في الإعدادات> خيار المطور> الوصول إلى الجذر . بعد أن يصبح adb root المتاحة. لسوء الحظ ، لا يعمل مع معظم ROMs الأسهم في السوق.


لقد واجهت هذه المشكلة عندما حاولت إجراء محاكاة لجذر المضاهاة ، اكتشفت أن السبب في ذلك هو أنني كنت أقوم بتشغيل محاكي Nexus 5x والذي كان يحتوي على Google Play عليه. تم إنشاء محاكي مختلف لم يكن يحتوي على google play ، وسوف يقوم adb root الجهاز لك. أمل أن هذا يساعد شخصاما.







root