অ্যাডবি শেল সু কাজ করে তবে অ্যাডবি রুট কাজ করে না


93

আমি আমার আনলক করা গ্যালাক্সি এস 3 (এসজিএইচ- T999 )কে মূল দিয়েছি

এখন, আমি adb rootউইন্ডোজ কমান্ড প্রম্পট থেকে চালানোর চেষ্টা করছি , তবে আমি 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। সুতরাং, আমি ভেবেছিলাম, আমি উপরে যা করেছি তার বাইরে কিছু অতিরিক্ত জিনিসও করতে হবে। আমি নিম্নলিখিত এসও প্রশ্নের সমস্ত সমাধান চেষ্টা করেছি:

উপরের কেউই আমার পক্ষে কাজ করেনি। তারা যা করে তা কেবল শেলের ভিতরেই মূল প্রবেশাধিকার দেয়। আমি adb rootকাজ করতে চাই যাতে শেলের মধ্যে না গিয়ে আমি বিভিন্ন অ্যাডবি কমান্ডগুলি সম্পাদন করতে পারি।


4
অ্যান্ড্রয়েড> 4.3 এ কাজ করে না। সু অনুপস্থিত।
drdrej

উত্তর:


35

ডিজাইন adb rootকমান্ড দ্বারা বিকাশ কাজ করে কেবল (যেমন engএবং userdebugযা ro.debuggable=1পূর্বনির্ধারিত থাকে)। সুতরাং adb rootআপনার অন্যথায় রুটেড ডিভাইসে কমান্ড সক্ষম করতে কেবল ro.debuggable=1নিম্নলিখিত ফাইলগুলির মধ্যে একটিতে লাইন যুক্ত করুন :

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

আপনি যদি ডিফল্ট adb shellহিসাবে শুরু করতে চান root- তবে ro.secure=0পাশাপাশি যুক্ত করুন।

বিকল্পভাবে আপনি পরিবর্তিত adbdবাইনারি ব্যবহার করতে পারেন (যার জন্য এটি পরীক্ষা করে না 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.

9
উপরের এক্সিকিউটেবলের সংকলন আমি কোথায় পাব?
ওয়াকাস বুখারি

4
আপনার উল্লেখ করা ফাইলগুলিতে আমি ro.debuggable এবং ro.secure এর জন্য নতুন মান যুক্ত করেছি, তবে তারা এখনও প্রতিটি রিবুটে ওভাররাইট হয়ে যায় এবং পরিবর্তনের কোনও প্রভাব হয় না।
প্যাট্রিক সিজাচুরস্কি

31

কিছু ডেভেলপার-বন্ধুত্বপূর্ণ ROM- র বিষয়বস্তু আপনি শুধু সক্ষম পারে রুট অ্যাক্সেস মধ্যে সেটিংস> বিকাশকারীর বিকল্প> রুট এক্সেস । এর পরে adb rootউপলব্ধ হয়। দুর্ভাগ্যক্রমে এটি বাজারে বেশিরভাগ স্টক রমের জন্য কাজ করে না।


64
আমি দেব বিকল্পগুলিতে একটি "রুট অ্যাক্সেস" বিকল্প দেখতে পাচ্ছি না।
অমলগোভিনাস

4
@ আমালগোভিনাস আমার ধারণা আপনি কোন রুমটি ব্যবহার করছেন তার উপর এটি নির্ভর করে। :)
NgaNguyenDuy

@ NgaNguyenDuy আপনি কি রোম ব্যবহার করছেন তা দয়া করে সনাক্ত করতে পারেন?
লবস্টার ফাইটার

22

এমুলেটরটি রুট করার চেষ্টা করার সময় আমি এই ইস্যুটিতে ছড়িয়ে পড়েছি, আমি জানতে পেরেছিলাম কারণ এটি ছিল যে আমি নেক্সাস 5x এমুলেটর চালিয়ে যাচ্ছিলাম যার উপর গুগল প্লে ছিল। একটি আলাদা এমুলেটর তৈরি করেছেন যার গুগল প্লে নেই এবং adb rootএটি আপনার জন্য ডিভাইসটি রুট করবে। আশা করি এটি কাউকে সাহায্য করবে।


কিভাবে আমরা উভয় এমুলেটর পার্থক্য করতে পারি?
সঞ্জয়

@ সঞ্জয় যখন আপনি অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস ম্যানেজারটি খুলবেন, আপনার প্লে স্টোরের জন্য একটি ট্যাবটি দেখতে হবে এবং আপনি যে ডিভাইসটি রুট করার চেষ্টা করছেন তাতে কোনও প্লে স্টোর আইকন উপস্থিত নেই তা নিশ্চিত করতে চান।
অ্যান্ড্রু স্টেইনমেটজ

4
2020, এটি আমাকে সহায়তা করেছে তবে আমার কাছে প্লে স্টোর ছাড়া প্লে
স্টোরযুক্ত

8

আমি আবড শেল এন্টার এস মো মোডের জন্য ব্যবহার করি

অ্যাডবি শেল "সু"


4
ম্যাক ওএসে, আমি "/ সিস্টেম / বিন / শ: সু: পাওয়া যায়নি" ত্রুটি পাচ্ছি। কোন পরামর্শ দয়া করে?
শচীন জি

@ সাচিনজি হয়ত আপনি ভুল ধরণের উদ্ধৃতি ব্যবহার করেছেন? এটি চালানোর চেষ্টা করুনadb shell "su -c whoami"
gkpln3

@ gkpln3 এখনও একই ত্রুটি পাচ্ছে। / সিস্টেম / বিন / শ: স: পাওয়া যায় নি
শচীন জি

আমার একই ত্রুটি আছে
জ্যাক

8

আমার কাছে মূলের স্যামসাং গ্যালাক্সি ট্রেন্ড প্লাস (জিটি-এস 7580) রয়েছে।

'অ্যাডবি রুট' চালনা আমাকে একই 'অ্যাডবিডি প্রোডাক্টের রুট হিসাবে চালাতে পারে না' ত্রুটিটি দেয়।

বিকাশকারী বিকল্পগুলি -> রুট অ্যাক্সেস রয়েছে এমন ডিভাইসগুলির জন্য, ডিভাইসে অ্যাডবি রুট অ্যাক্সেস সরবরাহ করতে "কেবলমাত্র এডিবি" চয়ন করুন ( এনজিএনগুইগেনডুয়ের পরামর্শ অনুসারে )।

তারপরে এডিবি-র মাধ্যমে রুট হিসাবে একটি স্ক্রিপ্ট লঞ্চ করার সময় সমাধান অনুযায়ী কমান্ডটি চালানোর চেষ্টা করুন । আমার ক্ষেত্রে, আমি কেবল 'নেটসিএফজি rndis0 dhcp' কমান্ডটি চালাতে চেয়েছিলাম এবং আমি এটি এভাবে করেছি:

adb shell "su -c netcfg rndis0 dhcp"

এইভাবে চালানোর সময় আপনি কোনও ভুল করছেন কিনা তা দয়া করে পরীক্ষা করে দেখুন।

এটি এখনও কাজ না করে, আপনি ডিভাইসটি সঠিকভাবে রুট করেছেন কিনা তা পরীক্ষা করে দেখুন। যদি এখনও ভাগ্য না থাকে তবে 'অ্যাডবি রুট' কাজ করার জন্য একটি কাস্টম রম যেমন সায়ানোজেন মোড ইনস্টল করার চেষ্টা করুন ।


7

আপনার boot.img / sbin / ফোল্ডারে অ্যাডবিডি বাইনারি প্রতিস্থাপন করতে হবে যা su সক্ষম। আপনাকে কিছু ডিফল্টও করতে হবে p সম্পাদনাগুলিও চাপুন।

স্যামসুং অন্য বিক্রেতাদের তুলনায় এটি আরও কঠিন করে দেখায়। আমার কিছু অ্যাডবিডি বাইনারি রয়েছে যা আপনি চেষ্টা করতে পারেন তবে এটির জন্য নতুন বাইনারি সহ বুট.আইএমজি ডি-সংকলন এবং পুনরায় সংকলনের জ্ঞানের প্রয়োজন হবে। এছাড়াও, আপনার যদি কোনও লকড বুটলোডার থাকে ... এটি ঘটবে না।

এছাড়াও চেইনফায়ারের একটি অ্যাপ্লিকেশন রয়েছে যা প্লে স্টোরে অ্যাডবিডি রুট অনুমতি প্রদান করবে: https://play.google.com/store/apps/details?id=eu.chainfire.adbd&hl=en

সবশেষে, আপনি যদি এসইউ অনুমতি নিয়ে উইন্ডোজ স্ক্রিপ্ট লেখার চেষ্টা করছেন তবে নিম্নলিখিত কমান্ড শৈলীটি ব্যবহার করে আপনি এই ক্রয়টি করতে পারেন ... তবে আপনাকে কমপক্ষে (ফোনে) এসইউ অনুমতির দরকার হ'ল বন্ধের সময়টি .. ।

adb শেল "su -c ls" <su- র অধিকার সহ ওয়ার্কিং ডিরেক্টরিটি তালিকাভুক্ত করুন। অ্যাডবি শেল "su -c ইকো anytext> /data/test.file"

এই মাত্র কিছু উদাহরণ। আপনি যদি সুনির্দিষ্টভাবে বলে থাকেন যে আপনি কী সম্পাদন করতে চাইছেন আমি আরও নির্দিষ্ট পরামর্শ দিতে সক্ষম হতে পারি give

-স্কোলার


5

adbd মূল অ্যাক্সেস সক্ষম করার জন্য একটি সংকলন পতাকা / বিকল্প রয়েছে: ALLOW_ADBD_ROOT=1

অ্যান্ড্রয়েড 9 পর্যন্ত: adbdআপনার ডিভাইসে যদি পতাকাটি ছাড়া সঙ্কলিত হয় তবে এটি শুরু করার সময় সর্বদা সুবিধাগুলি বাদ যায় এবং এইভাবে "অ্যাডবি রুট" মোটেই সহায়তা করবে না। আমি প্যাচ ছিল কল setuid(), setgid(),setgroups() এবং সামর্থ্য আউট বাইনারি নিজেকে ড্রপ আমার ইসলাম পাঠক একটি স্থায়ীভাবে মূলী adbd জন্য।

অ্যান্ড্রয়েড 10 এর সাথে এটি পরিবর্তিত হয়েছে; যখন ফোন / ট্যাবলেট আনলক করা থাকে ( ro.boot.verifiedbootstate == "orange"), তখন অ্যাডাব রুট মোড যে কোনও ক্ষেত্রেই সম্ভব।


1

আপনার যদি সত্যই ADBচলমান থাকে rootতবে দ্রুত এবং সহজতম উপায়টি হ'ল অ্যান্ড্রয়েড কাস্টম রমগুলি ইনস্টল করা এবং সবচেয়ে জনপ্রিয় CyanogenModএটির জন্য Root Accessবিকাশকারী বিকল্পসমূহ মেনুতে বিকল্প রয়েছে যেখানে আপনি রুট অ্যাক্সেস দিতে বেছে নিতে পারেনapps and ADB । আমি আগে মুখ্যমন্ত্রী ব্যবহার করেছি কিন্তু যেহেতু এটি আর বিকশিত হয়নি তাই আমি সেখান থেকে কিছু সমাধানের সন্ধান করার চেষ্টা করেছি। যদিও সায়ানোজেনমড এখনও একটি ভাল বিকল্প কারণ এটিতে ব্লাটওয়্যার নেই।

বন্ধুর কাছ থেকে পাওয়া একটি বিকল্পটি adbd insecureঅ্যাপটি ব্যবহার করছে যা আপনি এখান থেকে চেষ্টা করতে পারেন: https://forum.xda-developers.com/showthread.php?t=1687590 । আমার ক্ষেত্রে, এটি অ্যান্ড্রয়েড কাস্টম কার্নেলের সাথে পারফেক্ট কাজ করে তবে অ্যান্ড্রয়েড স্টক রমের সাথে নয় (কেবল ভ্যানিলা অ্যান্ড্রয়েড)। আপনি অন্যান্য বিকল্পগুলিও boot.imgঅ্যান্ড্রয়েড রমের সংশোধন করার মতো চেষ্টা করতে পারেন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.