Файловая система только для чтения на Android
Недавно я основал свой Droid X, и все, кажется, работает отлично. Я внес некоторые изменения в build.prop , и когда я делаю adb push build.prop /system/ , я получаю следующую ошибку: failed to copy ‘c:\build.prop’ to ‘/system//build.prop’: Read-only file system .
Как я могу это исправить?
Получил это от форума Android, на котором я задал тот же вопрос. Надеюсь, это поможет кому-то еще.
В терминальном эмуляторе по телефону:
Затем в командной строке введите adb push
Не все телефоны и версии Android имеют все то же самое.
Ограничение параметров при пересоединении было бы лучше.
Просто перемонтируйте как rw (Чтение/Запись):
Как только вы закончите внесение изменений, перемонтируйте ro (только для чтения):
работает для меня и, кажется, является самым простым решением.
Пока я знаю, что вопрос касается реального устройства, если кто-то попал сюда с подобной проблемой в эмуляторе, с любыми инструментами, имеющими последнее значение с февраля 2017 года, эмулятор должен быть запущен из командной строки с помощью
Чтобы что-либо было доступно для записи в /system . Без этого флага никакая комбинация remount или mount не позволяет записать на /system .
После запуска эмулятора с этим флагом, один adb remount после adb root достаточно, чтобы получить разрешения для нажатия на /system .
Вот пример командной строки, которую я использую для запуска моего эмулятора:
Значение для флагов -avd происходит от:
Я думаю, что самый безопасный способ – перемонтировать /system как read-write, используя:
и, когда это будет сделано, перемонтируйте его как только для чтения:
На моей галактике Samsung mini S5570 (после того, как он получил корень на сотовом телефоне):
Кулак, как root, я побежал:
как обычный пользователь:
Предоставить права доступа root на сенсорном экране
укажите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что /dev/stl 12 был установлен в /system как ro (только готовый), поэтому нам просто нужно:
В командной строке выполните следующие действия:
Вот что сработало для меня. Я запускал эмулятор Android 7.1.1 (нуга).
На терминале я нахожу следующую команду. Одна вещь, которую нужно заметить, – это флаг -writable-system
На другой вкладке
Все изменения, внесенные в/содержимое системы, сохранятся при перезапуске.
Это работает для меня и является самым простым решением.
Открыть эмулятор терминала на телефоне:
затем
после запуска этого демона
тогда чтение только преобразуется в read-Write.
работает для меня
Я нашел эту статью из Google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).
В Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw в/и/system (это единственные, которые я пытался изменить) и, возможно, другие.
Следующее было тем, что я выполнял для выполнения изменений, которые я пытался достичь. Я вложил их в окно, потому что удаление бит выполнения из /sbin/ric необходимо выполнить быстро, чтобы остановить его перезапуск. (Я пробовал stop ric , это не сработало – хотя он работал над предыдущей версией Android на телефоне).
Я изменил здесь файл hosts, так что это место, где вы вносите необходимые изменения в файловую систему. Чтобы оставить вещи так, как мы их нашли, сделайте следующее:
В какой момент ric должен автоматически перезагрузиться. (Он автоматически перезагрузился для меня.)
Добавляя немного больше ответа Янга Бергстрема: потому что Android – это система на базе Linux, а в Linux в Linux содержатся косые черты (../) при использовании команды push, используйте “/” для определения пути назначения в Android-устройство.
Например, команда: adb push C:\Users\admin\Desktop\1.JPG sdcard/pictures/
Обратите внимание, что здесь обратные косые черты используются для определения пути к исходному файлу файла, который должен быть вытолкнут с Windows PC, и косые черты используются для определения пути назначения, потому что Android – это система на основе Linux. Вам не нужно действовать как root, чтобы использовать эту команду, а также отлично работает на производственных устройствах.
Иногда вы получаете ошибку, потому что место назначения в телефоне не существует. Например, какое-то местоположение внешнего хранилища телефона Android вместо /storage/emulated/0 .
Спасибо, Sérgio, для команды “mount” без параметров.
Мне нужно сделать 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” отделен от других каталогов приложений.
Command
mount -o rw,remount /mnt/asec
не решила проблему “r/o fs”, она хочет параметр устройства перед параметром каталога.
“df” также не помогла, но показывает, что мой каталог /mnt/asec/com.my.app-1 находится в отдельной точке монтирования.
Затем я смотрю на mount и voila!
root@android:/ # mount
.
/dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0
Следующие шаги уже описаны вверх: перемонтируйте RW, нажмите и верните обратно в RO.
it sames, который должен извлечь и переупаковать initrc.img и отредактировать файл init с кодом mount/system
В моем случае я использовал команду adb push
Я изменил его на
/Desktop/file.txt/sdcard/ а затем он сработал.
Обязательно отключите и снова подключите телефон.
Если произошел сбой при копировании файла, доступного только для чтения, вы можете попробовать найти исходный файл в корневом каталоге и изменить его с помощью текстового редактора корневого текста (желательно) RB, он поставляется с приложением ROM Toolbox.
Попробуйте это в терминальном эмуляторе как root:
Скопировать файлы на SD-карту?
Ну, я полагаю, вам нравится копировать данные на Sd-карту с компьютера разработчиков? Возможно, вы укоренились в разработке и сделали доступную область доступной?) У меня была проблема с загрузкой файлов данных для моего приложения (Android Studio 1.3.2 в Win7), но.
- Сначала команда-команда adb должна быть найдена в пути:
PATH =% PATH%; C:\Users\XXXXX\AppData\Local\Android\sdk\platform-tools (папка AppData скрыта, поэтому вам нужно установить настройку папки, не скрывая скрытые файлы и папку, чтобы найти ее, Path работает независимо) - Вам нужно указать путь к папке вправо или получить сообщение об ошибке только для чтения, скорее всего, оно должно начинаться с /sdcard или это область только для чтения. Как только я не сделал никаких проблем, нажав файл на эмулятор.
Итак, например, команда adb может выглядеть так:
Источник
Как разрешить запись в папки только для чтения в программе Total Commander на Андроид
Как разрешить запись в папки только для чтения в программе Total Commander на Андроид. Как разрешить запись в папки только для чтения в программе Total Commander на Андроид. Мы писали о замечательной программе, файловом менеджере для Андроид Total Commander , которая с легкостью может заменить все остальные Андроид программы такого рода (ASTRO, Root Explorer, ES Проводник).
Total Commander русифицирован, имеет поддержку root, возможность подключения плагинов, двух панельный режим и при этом абсолютно и пожизненно бесплатен. То есть полностью, реклама также отсутствует.
Однако, при более близком знакомстве с программой, оказалось, что смонтировать системные разделы для записи в Total Commander просто так не получится. В программе Root Explorer, например, это можно сделать, нажав на кнопку «Mount RW«. В Total Commander отсутствует такая кнопка или подобный пункт меню.
Однако, как оказалось, из этого положения, есть выход благодаря широким возможностям настройки программы. И сегодня мы расскажем вам, как в течение одной минуты добавить нужную нам кнопку на панель кнопок программы.
Инструкция:
1. Запустите Total Commander и при необходимости откройте панель кнопок, нажав на:
2. Добавить кнопку на панель можно нажатием на:
3. В открывшемся окне выберите «Тип функции:»
4. Выберите «Внутренняя команда»
5. В поле «Команда» выберите «119 Перемонтировать»
6. Нажмите на ОК / Применить
6. На панели инструментов у вас появится кнопка со значком, отображающим состояние монтирования текущего раздела или папки. (R – если папка смонтирована только для чтения и RW, если она смонтирована для чтения и записи.):
Теперь, для того чтобы перемонтировать нужную папку в Total Commander для Android, достаточно просто нажать на добавленную нами кнопку.
Источник
Файловая система только для чтения на Android
недавно я укоренил свой Droid X, и все, кажется, работает отлично. Я внес некоторые изменения в build.prop и когда я делаю adb push build.prop /system/ Я получаю следующую ошибку: failed to copy ‘c:build.prop’ to ‘/system//build.prop’: Read-only file system .
как я могу это исправить?
21 ответов
Не все телефоны и версии android имеют вещи, установленные одинаково.
Лучше всего ограничить возможности при переналадке.
просто перемонтировать как RW (чтение/запись):
Как только вы закончите вносить изменения, переустановите ro (только для чтения):
получил это с форума Android, где я задал тот же вопрос. Надеюсь, это поможет кому-то еще.
на эмуляторе терминала по телефону:
затем в командной строке cmd выполните adb push
работает для меня и кажется самым простым решением.
хотя я знаю, что вопрос касается реального устройства, в случае, если кто-то попал сюда с аналогичной проблемой в эмуляторе, с любыми инструментами, последними по состоянию на февраль 2017 года, эмулятор должен быть запущен из командной строки с:
для всего, что можно записать в /system . Без этого флага нет комбинации remount или mount позволит написать /system .
после запуска эмулятора с этим флагом, один adb remount после adb root достаточно, чтобы получить разрешения, чтобы нажать на /system .
вот пример командной строки, которую я использую для запуска моего эмулятора:
значение -avd флаги поставляется из:
Я думаю, что самый безопасный способ-переустановить / system как read-write, используя:
и когда закончите, установите его как только для чтения:
на моем Samsung galaxy mini S5570 (после того, как получил root на мобильном телефоне):
кулаком, как корнем, я побежал:
как обычный пользователь:
предоставить права root на сенсорном экране
перечислите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что /dev / stl12 был установлен на / system как ro( только готовый), поэтому нам просто нужно сделать:
попробуйте следующее в командной строке:
вот что сработало для меня. Я запускал эмулированное устройство Android 7.1.1 (Нуга).
на терминале я нажал следующую команду. Следует отметить, что флаг-writable-system
все изменения, которые вы делаете в содержимом /system, переживут перезапуск.
это работает для меня и является самым простым решением.
открыть эмулятор терминала на телефоне: тогда
после этого демон начал
затем только чтение преобразуется в чтение-запись.
Я нашел эту статью из google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).
У Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw on /and / system (это единственные, которые я пытался изменить) и, возможно, другие.
ниже было то, что я побежал, чтобы выполнить изменения, которые я пытался достичь. Я вставил их в окно, потому что удаление бита execute из /sbin/ric должно быть сделано быстро, чтобы чтобы остановить его перезапуск. (Я пытался!—2—>; это не работает, хотя он работал на предыдущей версии Андроид на телефоне).
Я изменил файл hosts здесь, так что это место, где вы делаете изменения, необходимые для файловой системы. Чтобы оставить вещи такими, какими мы их нашли, сделайте следующее:
в этот момент ric должен автоматически перезапустить. (Он перезапускается автоматически.)
добавление немного больше к ответу Яна Бергстрема: потому что Android — это система на базе Linux, и путь в Linux содержит косые черты(../ ), используя команду push, используйте «/» для определения пути назначения на устройстве Android.
например, команда идет: ADB push C:\Users\admin\Desktop\1 — . JPG sdcard / картинки/
обратите внимание, что здесь задние косые черты используются для определения исходного пути файла, который будет выталкиваться с ПК с windows, и передние косые черты используются для определите путь назначения, потому что Android — это система на базе Linux. Вам не нужно действовать как root, чтобы использовать эту команду, а также она отлично работает на производственных устройствах.
иногда вы получаете ошибку, потому что место в телефоне не существует. Например, некоторое внешнее хранилище телефона android является /storage/emulated/legacy вместо /storage/emulated/0 .
спасибо, Сержиу, для команды «mount» без идеи параметров. Мне нужно сделать 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
следующие шаги уже описаны вверх: перемонтировать в RW, нажмите и снова перемонтировать в RO.
Это имена, которые должны извлекать и переупаковывать initrc.img и редактировать init файл с кодом mount /system
Если есть сбой в копировании файла только для чтения, вы можете попробовать найти исходный файл в корневом каталоге и изменить его с помощью корневого текстового редактора (предпочтительно) RB text editor, он поставляется с приложением ROM Toolbox.
попробуйте это в эмуляторе терминала как root:
в моем случае я использовал команду adb push
Я изменил его на
/Desktop/file.txt /sdcard/ и тогда это сработало.
убедитесь, чтобы отключить и снова подключить телефон.
копировать файлы на SD-карту?
ну, я полагаю, вам нравится копировать данные на Sd-карту с компьютера разработчиков? Вы, возможно, коренится разработать и сделали зону вам адрес?) У меня была примерно такая же проблема с загрузкой файлов данных для моего приложения (Android Studio 1.3.2 в Win7), но.
- сначала команда adb-shell должна быть найдена в пути: PATH=%PATH%;C:\Users\XXXXX\AppData\Local\Android\sdk\platform-tools (папка AppData скрыта, таким образом, вы должны установить настройку папки, не скрывая скрытые файлы и папку, чтобы найти ее, путь работает независимо)
- вы должны правильно написать путь к папке или вы получите сообщение об ошибке только для чтения, скорее всего, оно должно начинаться с /sdcard или это область только для чтения. Как только я не сделал никаких проблем, нажав файл в эмулятор.
Так, например, команда adb может выглядеть так:
Источник