এটি একটি পুরানো প্রশ্ন, তবে আমি সম্প্রতি এই সম্পর্কে আগ্রহী ছিলাম। আমি এমন একটি পদ্ধতি পেয়েছি যার পুনরায় সংশোধন করার প্রয়োজন নেই adbd, তবে এটির প্রয়োজন নেই su(আমি চেইনফায়ার সুপারসু ২.৪৫ ব্যবহার করছি)।
ধরে নেওয়া bashহয় এটি অবস্থিত /system/bin/bash, এবং suএ রয়েছে /system/xbin/su, এটি মূলত এরকম কিছু:
adb shell (একটি ইন্টারেক্টিভ শেল ব্যবহার করুন this এই প্রক্রিয়াটিকে ওয়ান-লাইনার হিসাবে চালিত করার ফলে যদি সমস্যা হয় তবে এডিবি কাজ বন্ধ করে দিতে পারে)
mount -o remount,rw /system
mv /system/bin/sh /system/bin/sh.bak
echo -e '#!/system/bin/bash\n/system/xbin/su -mm -l -s /system/xbin/bash' > /system/bin/sh মনে রাখবেন যে আপনার পথগুলি পৃথক হতে পারে; ব্যবহার which bashএবং which suনিশ্চিত করা।
chmod 777 /system/bin/sh
- শেল পরীক্ষার আগে বেরিয়ে:
/system/bin/sh। আপনি যদি কোনো ত্রুটি পেলে, ব্যাকআপ অবস্থায় ফিরিয়ে নেওয়ার মাধ্যমে ত্রুটি বা প্রত্যাবর্তন ঠিক: cp /system/bin/sh.bak /system/bin/sh।
- Ptionচ্ছিকভাবে পুনরায় মাউন্ট / সিস্টেম; বেশিরভাগ ডিভাইস স্বয়ংক্রিয়ভাবে এটি করবে:
mount -o remount,ro /system
এবং তুমি করে ফেলেছ.
BASH- কে কেবল এসএইচ-তে সিলেক্ট করা কাজ করে না কারণ বাশ যখন এইভাবে ডাকা হয় তখন এসএকে এমুলেট করে।
যাইহোক, স্ট্রের দিকে একবার নজর রেখে, এটি bashrcযখন সিমলিংকৃত বেসকে 'শ - লগিন' নামে ডাকা হয় তখন এটি সন্ধান করার মতো মনে হয় । যদিও এটি স্ক্রিপ্টের মাধ্যমে "চেইনলোড" শেল ব্যবহার করা যেতে পারে, যেমন উপরে বর্ণিত adbdএসএইচকে হার্ডকোড করা হয়েছে above
যদি সমস্যা হয় এবং আপনি সমস্যাটি সমাধানের জন্য /system/bin/shADB তে কোনও শেল রাখবেন না (তবে সরানো হয়েছে) have যদি এটি হয় তবে আপনার কাছে কয়েকটি বিকল্প রয়েছে:
- পুনরুদ্ধার করুন যা
adbd(যেমন সিডাব্লুএম বা টিডব্লিউআরপি) রয়েছে এবং এটিতে একটি অ্যাডবি শেল খুলুন, / সিস্টেমে / বিন / শ.বাককে আবার / সিস্টেম / বিন / এস-তে অনুলিপি করতে।
- ব্যাকআপটি অনুলিপি করতে অ্যাডবি ব্যবহার করুন:
adb root; adb remount; adb shell; adb pull /system/bin/sh.bak; adb push sh.bak /system/bin/sh নোট করুন যে এটি সমস্ত ডিভাইসে কাজ করবে না; কেউ কেউ এইভাবে অ্যাডাবিকে পুনরায় মাউন্ট / সিস্টেম আরডব্লিউ করতে দেয় না।
- একটি টার্মিনাল এমুলেটর ব্যবহার করুন যা আলাদা শেল চালানোর জন্য সেট করা যেতে পারে; লক্ষ্য করুন যে বেশিরভাগ প্রথমে / সিস্টেম / বিন / শ চেষ্টা করবে এবং জোর করে বন্ধ করবে।
shনাbash। আপনি কোন বিল্ড ব্যবহার করছেন?