অ্যান্ড্রয়েডে কেবল ফাইল সিস্টেমটি পড়ুন


212

আমি সম্প্রতি আমার ড্রয়েড এক্সকে মূল দিয়েছি এবং সমস্ত কিছুই নিখুঁতভাবে কাজ করছে বলে মনে হচ্ছে। আমি কিছু পরিবর্তন করেছেন build.propএবং আমি কি করতে adb push build.prop /system/আমি নিম্নলিখিত ত্রুটির পাবেন: failed to copy 'c:\build.prop' to '/system//build.prop': Read-only file system

আমি এটা কিভাবে ঠিক করবো?


19
আপনি চেষ্টা করেছেন adb remount, আপনি কি পাবেন?
রৌপ্যফক্স

অ্যান্ড্রয়েড হ'ল গুগলের সফ্টওয়্যার স্ট্যাক ... অ বিকাশকারী প্রশ্নের জন্য, android.stackex
بدل.com

2
দয়া করে মনে রাখবেন যে অ্যান্ড্রয়েড অ্যাপ্লিকেশন কোডটি কেবল পঠনযোগ্য ফাইল সিস্টেমের ত্রুটির সাথে এই প্রশ্নটি বিভ্রান্ত হওয়া উচিত নয় । এটি সাধারণত কোনও অবস্থান নির্দিষ্ট না করেই কোনও ফাইল লেখার চেষ্টা করার কারণে ঘটে, যেমন রুট ডিরেক্টরিতে লেখার চেষ্টা করে। এই প্রশ্নটি কেবল রুট / উন্নয়ন / ইঞ্জিনিয়ারিং ডিভাইসে অ্যান্ড্রয়েডের ইনস্টলেশনটি পরিবর্তন করার বিষয়ে।
ক্রিস স্ট্রাটন

1
অ্যান্ড্রয়েড এমুলেটর দিয়ে এটি করার কোনও উপায় আছে কি ?? এই সমাধানগুলির কোনওটিই আমার এমুলেটারের জন্য কাজ করে না।
মাইকশেম

উত্তর:


388

অ্যান্ড্রয়েডের সমস্ত ফোন এবং সংস্করণগুলিতে জিনিসগুলি একই রকম হয় না।
রিমাউন্টিংয়ের ক্ষেত্রে সীমাবদ্ধকরণ বিকল্পগুলি সেরা।

আরডাব্লু হিসাবে কেবল পুনরায় গণনা (পড়ুন / লিখুন):

# mount -o rw,remount /system

একবার আপনি পরিবর্তনগুলি সম্পন্ন করার পরে, পুনরায় পুনর্নির্মাণ করুন (কেবল পঠনযোগ্য):

# mount -o ro,remount /system

29
আপনি আপনার পিসিতেও এটি করতে পারেন। অ্যাডবি শেল মাউন্ট -o আরডব্লিউ, রিমান্ট / সিস্টেম
ম্যাথিয়াস ওয়েইলার

8
এর সাথে একত্রে ব্যবহার করুন adb rootবা ফাইলটি চাপ দেওয়ার সময় আপনি অনুমতি অস্বীকার পেয়ে যাবেন।
ক্রিসওয়েবদেভ

1
@ মাইকহেঙ্ক, মনে হচ্ছে আপনি যখন এটি কার্যকর করেছিলেন তখন আপনি মূল ছিলেন না।
কর্টিসলাইবোলিন

21
আমার জন্য কাজ করে না:Balazss-MBP:tools varh1i$ adb shell generic_x86_64:/ # mount -o rw,remount /system '/dev/block/vda' is read-only
বালাজস ভারহেগি

2
যেহেতু আমার যেহেতু রুট ছিল তাই আমি ফাইলটি / এসডিকার্ডে অনুলিপি করেছিলাম, তারপরে (আমার ক্ষেত্রে) ব্যবহৃত হয়েছিলmv hosts /system/etc/hosts
লরি এলিয়াস

85
adb remount

আমার জন্য কাজ করে এবং এটি সহজ সমাধান বলে মনে হচ্ছে।


6
"অ্যাডিবি পুনরায় মাউন্ট - যদি আপনি কেবলমাত্র পঠন মোডে থাকায় ফাইলগুলি / সিস্টেমে ঠেলে দেওয়ার চেষ্টা করে ত্রুটিগুলি পেয়ে থাকেন তবে অ্যাডাব রিমাম্টটি / সিস্টেমটিকে রিড-রাইটিং মোডে পুনঃনির্মাণ করবে --- শেলটির সঠিক মূল থাকলে অনুমতি দেওয়ার জন্য। এটি মাউন্ট-ওআরডাব্লু, রিমাউন্ট / সিস্টেম (রুট হিসাবে) বা অন্য কোনও কিছু দিয়ে নিজের হাতে লম্বা কমান্ডটি টাইপ করে। " ( উত্স ) রুট অনুমতি নিয়ে আপনার যদি কোনও সমস্যা থাকে তবে আগে "অ্যাডবি রুট" চেষ্টা করুন।
ক্রিসওয়েবদেভ 9

4
আমি পেয়েছি Not running as root. Try "adb root" first.। এবং তারপর adbd cannot run as root in production builds
ভাদজিম

1
নতুন ডিভাইসে দেখে মনে হচ্ছে আমাদের $ adb disable-verityচালানোর আগে আমাদের আবার ডিভাইসটি পুনরায় বুট করা দরকার$ adb remount
Nebel22

1
$ adb অক্ষম-সত্যতা দিন: অক্ষম-সত্যতা কেবল ব্যবহারকারীদেগ তৈরির জন্য কাজ করে
উইলিয়াম

3
এটা কাজ করে না: Not running as root. Try "adb root" first.। আমি প্রবেশ করলাম adb rootএবং তারপরে আবারও adb remountতবুও একই ত্রুটি:Not running as root. Try "adb root" first.
user924

78

এটিকে এমন একটি অ্যান্ড্রয়েড ফোরাম থেকে পেয়েছি যেখানে আমি একই প্রশ্ন করেছি। আশা করি এটি অন্য কাউকে সহায়তা করবে।

ফোনে টার্মিনাল এমুলেটরটিতে:

mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

তারপরে সিএমডি প্রম্পটে, এটি করুন adb push


3
adb shell <command>কম্পিউটার থেকে ব্যবহার করা যেতে পারে (যদি আপনার ফোনে কোনও টার্মিনালের অভাব হয়)
ফ্লেচার

73

আমি জানি যে প্রশ্নটি আসল ডিভাইস সম্পর্কিত, যদি কেউ এমুলেটরটিতে একই রকম সমস্যা নিয়ে আসে তবে ফেব্রুয়ারী, ২০১ of-এর সর্বশেষতম যেকোন সরঞ্জামের সাথে এমুলেটরটি কমান্ড লাইন থেকে লঞ্চ করা দরকার:

-writable-system

কিছু লিখতে হবে /system। এই পতাকা ব্যতীত কোনটির সংমিশ্রণ remountবা কোনওটিকে এটি mountলেখার অনুমতি দেবে না /system

এমুলেটরটি সেই পতাকাটি দিয়ে চালু করার adb remountপরে , একক পরের adb rootদিকে এগিয়ে যাওয়ার অনুমতি পাওয়ার জন্য যথেষ্ট /system

আমি আমার এমুলেটর চালাতে ব্যবহার করি কমান্ড লাইনটির একটি উদাহরণ:

./emulator -writable-system -avd Nexus_5_API_25 -no-snapshot-load -qemu

-avdপতাকাগুলির জন্য মানটি আসে:

./emulator -list-avds

রাইটিং-সিস্টেমের সাথে আরম্ভের এমুলেটরের পরে অ্যাডবি রুট এবং অ্যাডবি রিমন্টের সাথে চালিয়ে যাওয়া না হওয়া অবধি আমার কমান্ড প্রম্পটটি অত্যন্ত ধীর হয়ে যায়?
বিয়িং জেকে

29

আমি মনে করি নিরাপদতম উপায়টি / সিস্টেমটিকে রিড-রাইটিং হিসাবে পুনরায় গণ্য করছে, এটি ব্যবহার করে:

mount -o remount,rw /system

এবং হয়ে গেলে, এটি কেবল পঠনযোগ্য হিসাবে পুনঃসমাপ্ত করুন:

mount -o remount,ro /system

6
তাই আপনাকে স্বাগতম! আপনার উত্তরটি প্রযুক্তিগতভাবে কার্যকর, তবে মূলত কার্টেলি ২০০2 এর পূর্ববর্তী উত্তরটির একটি সদৃশ। এটি তার উত্তরের মন্তব্য হিসাবে আরও ভাল হতে পারে যে বলেছিল "আমি সম্মত হই যে, কেবলমাত্র পঠন-পাঠের মোডে বাঁদর করার পরে কেবল পঠনপথে ফিরে যাওয়া সবচেয়ে নিরাপদ" " আমাদের লক্ষ লক্ষ প্রশ্ন রয়েছে, তাই সর্বদা আর একটি প্রশ্ন থাকবে যেখানে আপনি প্রথম কোনও দুর্দান্ত সমাধান বা একটি নতুন দৃষ্টিভঙ্গি নিয়ে প্রথম এসেছেন!
জোনাথন ভ্যান মাত্রে

1
বিবৃতি থেকে "," মুছে ফেলার পরে এটি কেবলমাত্র আমার পক্ষে কাজ করেছিল। অর্থাত "" " মাউন্ট-ও
রিমান্ট

@ টেকনিক এম্পায়ার, তিনি গৃহীত উত্তরের বিষয়ে উল্লেখ করেন না।
পাসচালিস

16

আমার স্যামসং গ্যালাক্সি মিনি এস 5570 এ (সেলফোনে রুট হওয়ার পরে):

মুষ্টি, মূল হিসাবে, আমি দৌড়েছি:

systemctl start adb

একটি সাধারণ ব্যবহারকারী হিসাবে:

adb shell 
su 

টাচ স্ক্রিনে রুট অনুমতিগুলি প্রদান করুন

mount 

আমাদের কাছে থাকা সমস্ত মাউন্ট পয়েন্টগুলি তালিকাবদ্ধ করুন এবং আমরা দেখতে পাচ্ছি, আমার ক্ষেত্রে, / dev / stl12 রো / (কেবল প্রস্তুত) হিসাবে সিস্টেমে মাউন্ট করা ছিল, সুতরাং আমাদের কেবল প্রয়োজন:

mount -o rw,remount /dev/stl12 /system

এই উত্তরের জন্য আপনাকে ধন্যবাদ। কিছু কারণে আমি রুট অনুমতিগুলি দেওয়ার জন্য আমার ফোনের স্ক্রিনটির দিকে তাকাতে পারি নি এবং অ্যাক্সেস পাচ্ছিলাম না কেন আমি চেষ্টা করি না কেন।
গ্রাহাম মিচেল

"আপনাকে অবশ্যই ফাইল সিস্টেমের ধরণটি -t। দিয়ে নির্দিষ্ট করতে হবে" এর অর্থ কী?
নেহাক 10

মাউন্ট -o আরডব্লিউ, রিমান্ট -t এক্সট 4 / ডেভ / ব্লক / ভিডিএ / সিস্টেম, - এটি আমার উদাহরণ ext4-তে ফাইল সিস্টেমের ধরণটি বোঝায়
সেরজিও

11

কমান্ড প্রম্পটে নিম্নলিখিতটি চেষ্টা করুন:

>adb remount
>adb push framework-res_old.apk /system/framework-res.apk

এটি হওয়া উচিতadb root remount
tqjustc

10
adb disable-verity
adb reboot
adb root
adb remount

এটি আমার পক্ষে কাজ করে এবং এটি সহজ সমাধান।


7

আমার জন্য যা কাজ করেছে তা এখানে। আমি একটি এমুলেটেড অ্যান্ড্রয়েড 7.1.1 (নৌগাট) ডিভাইসটি চালাচ্ছিলাম।

একটি টার্মিনালে, আমি নিম্নলিখিত কমান্ডটি হিট করেছি। একটি বিষয় লক্ষণীয় যা -Ritable- সিস্টেম পতাকা

./emulator -writable-system -avd Nexus_6_API_25  -partition-size 280

অন্য ট্যাবে

./adb shell
su
mount -o rw,remount -t ext4 /dev/block/vda /system

আপনি / সিস্টেমের সামগ্রীতে যে পরিবর্তনগুলি করেন তা পুনরায় আরম্ভ হতে পারে।


4

আমি এমুলেটর দিয়ে পরীক্ষা করেছি এবং নিম্নলিখিত কাজ।

  1. অ্যাডবি রিবুট
  2. অ্যাডবি রুট && এডিবি পুনরায় মাউন্ট && অ্যাডবি পুশ ~ / ডেস্কটপ / হোস্ট / সিস্টেম / ইত্যাদি / হোস্ট

উপরে বর্ণিত হিসাবে, একক শটে দ্বিতীয় পদক্ষেপটি কার্যকর করুন।


3

ফোনে টার্মিনাল এমুলেটর খুলুন: তারপরে

adb shell

এর পরে ডেমন শুরু করা হয়

su
mount -o rw,remount /mnt/sdcard

তারপরে পঠনযোগ্যকে কেবল পঠন-লেখায় রূপান্তর করা হয়।



2
This worked for me

#Mount as ReadOnly

su -c "mount -o rw,remount /system"
# Change Permission for file
su -c "chmod 777 /system/build.prop" 
#Edit the file to add the property
su -c "busybox vi /system/build.prop"
# Add now
service.adb.tcp.port=5678

# Reset old permissions
su -c "chmod 644 /system/build.prop"

# Mount as readonly again once done
su -c "mount -o ro,remount /system"

1

আমি এই নিবন্ধটি গুগল থেকে পেয়েছি এবং ভেবেছিলাম আমি কোনও সনি এক্স্পেরিয়া জেড (৪.২.২) এ প্রয়োজনীয় পদক্ষেপগুলি যুক্ত করব।

সনিতে একটি ওয়াচডগ প্রক্রিয়া রয়েছে যা সনাক্ত করে আপনি কখন / এবং / সিস্টেমে আরডাব্লুতে পরিবর্তন করেছেন (এগুলি কেবলমাত্র আমি সংশোধন করার চেষ্টা করছিলাম) এবং অন্যরাও।

নিম্নলিখিতটি আমি যা পরিবর্তন করতে পেরেছি তা সম্পাদন করতে দৌড়েছিলাম। আমি এগুলি একটি উইন্ডোতে আটকালাম, কারণ / sbin / rich থেকে এক্সিকিউট বিটটি অপসারণ করার জন্য এটি পুনরায় আরম্ভ করা বন্ধ করার জন্য দ্রুত কাজ করা দরকার। (আমি চেষ্টা করেছি stop ric; এটি কাজ করে না - যদিও এটি ফোনে অ্যান্ড্রয়েডের আগের সংস্করণে কাজ করেছিল)।

pkill -9 ric; mount -o rw,remount -t rootfs /
chmod 640 /sbin/ric
mount -o rw,remount /system

আমি এখানে হোস্ট ফাইলটি সংশোধন করেছি, সুতরাং এটিই সেই জায়গা যা আপনার ফাইল সিস্টেমে প্রয়োজনীয় পরিবর্তনগুলি করে। জিনিসগুলিকে আমরা যেভাবে খুঁজে পেয়েছি তা ছেড়ে দেওয়ার জন্য এটি করুন:

mount -o ro,remount /system
chmod 750 /sbin/ric
mount -o ro,remount -t rootfs /

কোন মুহুর্তে ধনী স্বয়ংক্রিয়ভাবে পুনরায় আরম্ভ করা উচিত। (এটি আমার জন্য স্বয়ংক্রিয়ভাবে পুনরায় শুরু হয়েছে))


1

জান বার্গস্ট্রোমের উত্তরে আরও কিছুটা যুক্ত করা: কারণ অ্যান্ড্রয়েড একটি লিনাক্স ভিত্তিক সিস্টেম, এবং লিনাক্সের পথটিতে ফরোয়ার্ড স্ল্যাশ রয়েছে (../), পুশ কমান্ড ব্যবহার করার সময়, অ্যান্ড্রয়েড ডিভাইসে গন্তব্য পথ নির্ধারণ করতে "/" ব্যবহার করুন।

উদাহরণস্বরূপ, কমান্ডটি যায়: অ্যাডবি পুশ সি: \ ব্যবহারকারীগণ \ প্রশাসক \ ডেস্কটপ \ 1. জেপিজি এসডিকার্ড / ছবি /

এখানে লক্ষ্য করুন যে উইন্ডোজ পিসি থেকে ধাক্কা দেওয়ার জন্য ফাইলের সোর্স পাথ নির্ধারণ করতে ব্যাক স্ল্যাশ ব্যবহার করা হয় এবং গন্তব্য পথ নির্ধারণ করতে ফরোয়ার্ড স্ল্যাশগুলি ব্যবহৃত হয় কারণ অ্যান্ড্রয়েড একটি লিনাক্স ভিত্তিক সিস্টেম। এই কমান্ডটি ব্যবহার করার জন্য আপনাকে রুট হিসাবে কাজ করতে হবে না এবং এটি, উত্পাদন ডিভাইসে পুরোপুরি সূক্ষ্মভাবে কাজ করে।


1

কখনও কখনও আপনি ত্রুটি পান কারণ ফোনে গন্তব্য অবস্থানের উপস্থিতি নেই। উদাহরণস্বরূপ, কিছু অ্যান্ড্রয়েড ফোনের বাহ্যিক স্টোরেজ অবস্থানের /storage/emulated/legacyপরিবর্তে /storage/emulated/0


1

ধন্যবাদ, সেরজিও , প্যারামিটারের ধারণা ছাড়াই "মাউন্ট" কমান্ডের জন্য। আমি তৈরি প্রয়োজন চাই adb pushমধ্যে /data/data/com.my.app/libকিছু পরীক্ষা সমস্যার জন্য, এবং পেতে "শুধুমাত্র পাঠযোগ্য ফাইল সিস্টেম" বার্তা।

ls কমান্ড আমাকে দেখায়:

root@android:/ # ls -l /data/data/com.my.app/
drwxrwx--x u0_a98 u0_a98 2016-05-06 09:16 cache drwxrwx--x u0_a98 u0_a98 2016-05-06 09:04 files lrwxrwxrwx system system 2016-05-06 11:43 lib -> /mnt/asec/com.my.app-1/lib

সুতরাং, এটি বোঝা যায় যে "lib" ডিরেক্টরিটি অন্যান্য অ্যাপ্লিকেশন ডিরেক্টরি থেকে পৃথক করা হয়।

কমান্ড mount -o rw,remount /mnt/asec "r / o fs" সমস্যাটি সমাধান করেনি, এটি ডিরেক্টরি প্যারামিটারের আগে ডিভাইস প্যারামিটার চায়।

"df" কমান্ড সাহায্য করে নি, তবে দেখায় যে আমার /mnt/asec/com.my.app-1ডিরেক্টরিটি পৃথক মাউন্ট পয়েন্টে রয়েছে।

তারপরে আমি mountভয়েলা দেখছি !

root@android:/ # mount ......... /dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0

পরবর্তী পদক্ষেপগুলি ইতিমধ্যে উপরের দিকে বর্ণিত হয়েছে: আরডাব্লুতে রিমান্ট, পুশ এবং পুনরায় পুনর্নির্মাণে আরও-তে ফিরে আসে।


1

এটি একই রকম যে initমাউন্ট / সিস্টেমের কোড সহ ফাইলটি আরডিআর.আইএমজি এবং সম্পাদনা করতে হবে এবং পুনরায় পুনঃস্থাপন করতে হবে


BTW। আপনাকে অবশ্যই -লিখনযোগ্য-সিস্টেম বিকল্পগুলির সাথে avd শুরু করতে হবে
xsilen T

0

ফাইলগুলি এসডি-কার্ডে অনুলিপি করবেন?

ভাল, আমি ধরে নিই যে আপনি ডেভেলপারদের কম্পিউটার থেকে এসডি-কার্ডে ডেটা অনুলিপি করতে চান? আপনি হয়ত এই কৌতূহলটি মূলোৎপাটন করেছেন এবং আপনি যে অঞ্চলটি সম্বোধন করেছেন সেটিকে উপলব্ধ করে তুলেছেন?) আমার অ্যাপ্লিকেশনটির জন্য ডেটা ফাইলগুলি আপলোড করার ক্ষেত্রে আমার একই সমস্যা ছিল (উইন 7-এ অ্যান্ড্রয়েড স্টুডিও 1.3.2), তবে but

  • প্রথমে অ্যাডবি কমান্ড-শেলটি খুঁজে পেতে হবে: পাথ =% পাঠ% ফোল্ডার সেটআপ গোপন করা ফাইল এবং ফোল্ডার এটির জন্য লুকিয়ে রাখছে না, পাথ নির্বিশেষে কাজ করে)
  • আপনাকে সরাসরি ফোল্ডারের পাথ বানান করতে হবে বা আপনি কেবল পঠনযোগ্য ত্রুটি বার্তাটি পান, সম্ভবত এটি অবশ্যই / এসডিকার্ড দিয়ে শুরু করা হবে বা এটি কেবলমাত্র পঠিত ক্ষেত্র। এমুলেটরটিতে ফাইলটি চাপ দেওয়ার সাথে সাথে আমার কোনও সমস্যা হয়নি।

উদাহরণস্বরূপ উদাহরণস্বরূপ অ্যাডবি কমান্ডটি এর মতো দেখতে পারে:

অ্যাডবি পুশ সি: \ টেস্টডেটা \ t.txt /sdcard/download/t.txt


0

কেবলমাত্র পঠনযোগ্য ফাইলটি অনুলিপি করতে ব্যর্থ হলে আপনি মূল ফাইলটি মূল ডিরেক্টরিতে সনাক্ত করতে এবং এটি একটি রুট পাঠ্য সম্পাদক (পছন্দসই) আরবি পাঠ্য সম্পাদক দিয়ে পরিবর্তন করতে পারেন, এটি রম টুলবক্স অ্যাপ্লিকেশন সহ আসে।


0

এটি রুট হিসাবে একটি টার্মিনাল এমুলেটরে চেষ্টা করুন:

restorecon -v -R /data/media

0

আমার ক্ষেত্রে আমি কমান্ডটি অ্যাডাব পুশ ব্যবহার করছিলাম ~/Desktop/file.txt ~/sdcard/

আমি এটিকে পরিবর্তন করেছিলাম ~/Desktop/file.txt /sdcard/এবং তারপরে এটি কার্যকর হয়েছিল।

ফোনটি সংযোগ বিচ্ছিন্ন এবং পুনরায় সংযোগ নিশ্চিত করুন।


এই প্রশ্নের লেখক / সিস্টেমটিকে রিড-রাইটিং হিসাবে পুনঃনির্মাণের বিষয়ে জিজ্ঞাসা করেছেন, আপনার উত্তরটি প্রবন্ধের বাইরে
মেটোনিমি

0

হিসাবে চেন-Xing উল্লিখিত সহজ উপায় হল:

adb reboot

তবে আমার জন্য আমাকে প্রথমে আমার সেটিংস পরিবর্তন করতে হয়েছিল:

সেটিংস → বিকাশকারী বিকল্পসমূহ oot রুট অ্যাক্সেস

এডিবির রুট অ্যাক্সেস রয়েছে তা নিশ্চিত করুন:

এখানে চিত্র বর্ণনা লিখুন

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