Содержание
- Read only file system error android что делать
- Сообщение read only file system в android
- Файловая система только для чтения на Android
- 21 ответ
- Скопировать файлы на SD-карту?
- Файловая система только для чтения на Android
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Ответ 8
- Ответ 9
- Ответ 10
- Ответ 11
- Ответ 12
- Ответ 13
- Ответ 14
- Ответ 15
- Ответ 16
- Ответ 17
- Ответ 18
- Ответ 19
- Ответ 20
- Ответ 21
- Скопировать файлы на SD-карту?
Read only file system error android что делать
Немного теории.
Папка LOST.DIR . Почему она заполняется?
Эта папка создается в случае, когда Android запускает File System ChecK (аналог Windows Chkdsk) и находит потерянные цепочки файлов. Эти файлы появляются, если вы вытаскиваете карту памяти в момент, когда на нее будет производится запись. Ведь Windows пытается записать файлы, используя механизм кэширования. Когда вы выдёргиваете кабель, содержимое кэша не успевает записаться на диск и данные в файле оказываются неполноценные. После того, как девайс отключён от компьютера, Android запускает сканирование карты и обнаруживает такие «битые» файлы, перемещая их остатки в директорию LOST.DIR.
Полезные ссылки:
1. FAQ по устройствам и Android OS — посмотрите в FAQ по Вашему аппарату, может там описаны рекомендуемые карты памяти для конкретной модели аппарата.
2. Посмотрите тему «Аксессуары» Вашего устройства. В ней тоже может быть собрана полезная информация по рабочим и не рабочим картам.
3. Затрудняетесь с выбором карты? Тогда смотрите здесь: Аксессуары для различных устройств.
Приступим к практике.
1. Всегда, перед отключением девайса от компьютера, выбирайте «Безопасное извлечение» , а далее, в самом устройстве «Отключить USB накопитель» (P.S. Может называться по другому, в зависимости от модели и прошивки аппарата).
2. Проверьте карту памяти при помощи приложения ScanDisk.
3. Проблема может крыться и в самой карте памяти. Попробуйте отформатировать ее и следуя совету выше, записывайте на нее файлы.
— Как форматировать:
- Полное форматирование с помощью телефона: Меню-Настройки-Память-Отключить карту памяти (Извлечь карту)-Очистить карту-Подключить SD-карту (П.С. названия и пути могут меняться, в зависимости от модели телефона);
- Форматирование с помощью компьютера с выбором разного размера кластера.
- Форматирование с использованием специального приложения SD Formatter или Hard Disk Low Level Format Tool. Так называемое «низкоуровневое» форматирование.
4. Попробуйте поменять кэш на карте памяти с помощью этого приложения: ® SD Speed Increase
5. Форматирование не помогает? Попробуйте заменить карту памяти на другую.
6. Записанные Вами файлы с компьютера видны а с устройства нет? Посмотрите, нет ли случайно в папке, в которую Вы их записали, файла .nomedia(файл скрытый). Если есть — удалите его.
Сообщение отредактировал Kodekс — 28.12.22, 22:40
Проверьте папки с музыкой на наличие файла .nomedia или просто отформатируйте флеш-карту и перезалейте музыку.
Сообщение отредактировал Fury-Fox — 23.10.11, 03:53
Запустите через Rescan Media сканирование флешки
Сообщение отредактировал eeriesilence — 23.10.11, 18:40
Запустите через Rescan Media сканирование флешки
Сообщение отредактировал eeriesilence — Сегодня, 19:40
Еще есть вариант, что в папке с музыкой лежит файл «.nomedia». Его надо удалить.
P.s. этот файл можно увидеть через PC
Я обычно, от чужих глаз файлы храню.
Сообщение отредактировал Kwitty — 24.10.11, 14:53
armvolk, очистите данные программы «Хранение мультимедиа» и заново запустите штатный плеер.
Сообщение отредактировал Бодтэк — 24.10.11, 15:05
armvolk, очистите данные программы «Хранение мультимедиа» и заново запустите штатный плеер.
Сообщение отредактировал Бодтэк — Вчера, 16:05
Причина редактирования: Исправил ошибку.
Друг мой, ты просто красавчик. 🙂 все сделал,как ты сказал, заработало :-):-):-):-) как тут на сайте у вас тут принято рейтинг поднимать или что, научи, подниму 🙂
У меня такая же проблема ставь лучше Power amp и забудь свои проблемы.
Добавлено 16.11.2011, 19:01:
Лучше препрошиться сохранить данные с флешки и всё будет все нормально , пробуй.
Источник
Сообщение read only file system в android
Установил adb, сделал при помощи usb_modeswitch что бы adb видело устройство, получил рут права через superoneclick, вроде бы все хорошо и можно спокойно заходить через adb shell вот только при выполнении практически любой серьезной команды пишет сообщение read only file system. Вот так например:
По умолчанию начинаешь в корне, ведройд всё монтирует в ro, остальное анально огораживает через selinux, потому ты без соответствующих разрешений в манифесте приложения пукнуть не можешь даже на флешке.
Но вернёмся к adb. Тут всё куда проще, нужно просто перемонрировать fs в rw, делается это так: #mount -o rw,remount mountpoint, в твоём случае корень скорее всего.
Большое вам спасибо, ввел команду mount -o rw,remount mountpoint / и все заработало!
-_- mountpoint не нужно было писать. Под mountpoint подразумевалось то, что нужно перемонировать, т.е. / или /system или /data или что тебе там надо.
Если это то самое устройство со вторым андроидом из прошлой темы, то там selinux нет.
Источник
Файловая система только для чтения на 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, на котором я задал тот же вопрос. Надеюсь, это поможет кому-то еще.
В терминальном эмуляторе по телефону:
Затем в командной строке введите 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.
работает для меня
В моем случае я использовал команду adb push
Я изменил его на
/Desktop/file.txt/sdcard/ а затем он сработал.
Обязательно отключите и снова подключите телефон.
it sames, который должен извлечь и переупаковать initrc.img и отредактировать файл init с кодом mount/system
Спасибо, Sérgio, для команды «mount» без параметров. Мне нужно сделать adb push в /data/data/com.my.app/lib для некоторой проблемы с тестированием и получить сообщение «Только для чтения».
ls показывает мне:
[email protected]:/ # 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!
[email protected]:/ # mount . /dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0
Следующие шаги уже описаны вверх: перемонтируйте RW, нажмите и верните обратно в RO.
Иногда вы получаете ошибку, потому что место назначения в телефоне не существует. Например, какое-то местоположение внешнего хранилища телефона Android вместо /storage/emulated/0 .
Добавляя немного больше ответа Янга Бергстрема: потому что Android — это система на базе Linux, а в Linux в Linux содержатся косые черты (../) при использовании команды push, используйте «/» для определения пути назначения в Android-устройство.
Например, команда: adb push C:UsersadminDesktop1.JPG sdcard/pictures/
Обратите внимание, что здесь обратные косые черты используются для определения пути к исходному файлу файла, который должен быть вытолкнут с Windows PC, и косые черты используются для определения пути назначения, потому что Android — это система на основе Linux. Вам не нужно действовать как root, чтобы использовать эту команду, а также отлично работает на производственных устройствах.
Я нашел эту статью из Google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).
В Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw в/и/system (это единственные, которые я пытался изменить) и, возможно, другие.
Следующее было тем, что я выполнял для выполнения изменений, которые я пытался достичь. Я вложил их в окно, потому что удаление бит выполнения из /sbin/ric необходимо выполнить быстро, чтобы остановить его перезапуск. (Я пробовал stop ric , это не сработало — хотя он работал над предыдущей версией Android на телефоне).
Я изменил здесь файл hosts, так что это место, где вы вносите необходимые изменения в файловую систему. Чтобы оставить вещи так, как мы их нашли, сделайте следующее:
В какой момент ric должен автоматически перезагрузиться. (Он автоматически перезагрузился для меня.)
Попробуйте это в терминальном эмуляторе как root:
Если произошел сбой при копировании файла, доступного только для чтения, вы можете попробовать найти исходный файл в корневом каталоге и изменить его с помощью текстового редактора корневого текста (желательно) RB, он поставляется с приложением ROM Toolbox.
Скопировать файлы на SD-карту?
Ну, я полагаю, вам нравится копировать данные на Sd-карту с компьютера разработчиков? Возможно, вы укоренились в разработке и сделали доступную область доступной?) У меня была проблема с загрузкой файлов данных для моего приложения (Android Studio 1.3.2 в Win7), но.
- Сначала команда-команда adb должна быть найдена в пути: PATH =% PATH%; C:UsersXXXXXAppDataLocalAndroidsdkplatform-tools (папка AppData скрыта, поэтому вам нужно установить настройку папки, не скрывая скрытые файлы и папку, чтобы найти ее, Path работает независимо)
- Вам нужно указать путь к папке вправо или получить сообщение об ошибке только для чтения, скорее всего, оно должно начинаться с /sdcard или это область только для чтения. Как только я не сделал никаких проблем, нажав файл на эмулятор.
Итак, например, команда adb может выглядеть так:
Источник
Файловая система только для чтения на Android
Недавно я основал свой Droid X, и все, кажется, работает отлично. Я внес некоторые изменения в build.prop , и когда я делаю adb push build.prop /system/ , я получаю следующую ошибку: failed to copy ‘c:build.prop’ to ‘/system//build.prop’: Read-only file system .
Как я могу это исправить?
ОТВЕТЫ
Ответ 1
Получил это от форума Android, на котором я задал тот же вопрос. Надеюсь, это поможет кому-то еще.
В терминальном эмуляторе по телефону:
Затем в командной строке введите adb push
Ответ 2
Не все телефоны и версии Android имеют все то же самое.
Ограничение параметров при пересоединении было бы лучше.
Просто перемонтируйте как rw (Чтение/Запись):
Как только вы закончите внесение изменений, перемонтируйте ro (только для чтения):
Ответ 3
работает для меня и, кажется, является самым простым решением.
Ответ 4
Пока я знаю, что вопрос касается реального устройства, если кто-то попал сюда с подобной проблемой в эмуляторе, с любыми инструментами, имеющими последнее значение с февраля 2017 года, эмулятор должен быть запущен из командной строки с помощью
Чтобы что-либо было доступно для записи в /system . Без этого флага никакая комбинация remount или mount не позволяет записать на /system .
После запуска эмулятора с этим флагом, один adb remount после adb root достаточно, чтобы получить разрешения для нажатия на /system .
Вот пример командной строки, которую я использую для запуска моего эмулятора:
Значение для флагов -avd происходит от:
Ответ 5
Я думаю, что самый безопасный способ — перемонтировать /system как read-write, используя:
и, когда это будет сделано, перемонтируйте его как только для чтения:
Ответ 6
На моей галактике Samsung mini S5570 (после того, как он получил корень на сотовом телефоне):
Кулак, как root, я побежал:
как обычный пользователь:
Предоставить права доступа root на сенсорном экране
укажите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что /dev/stl 12 был установлен в /system как ro (только готовый), поэтому нам просто нужно:
Ответ 7
В командной строке выполните следующие действия:
Ответ 8
Вот что сработало для меня. Я запускал эмулятор Android 7.1.1 (нуга).
На терминале я нахожу следующую команду. Одна вещь, которую нужно заметить, — это флаг -writable-system
На другой вкладке
Все изменения, внесенные в/содержимое системы, сохранятся при перезапуске.
Ответ 9
Это работает для меня и является самым простым решением.
Ответ 10
Открыть эмулятор терминала на телефоне: затем
после запуска этого демона
тогда чтение только преобразуется в read-Write.
Ответ 11
работает для меня
Ответ 12
Я нашел эту статью из Google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).
В Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw в/и/system (это единственные, которые я пытался изменить) и, возможно, другие.
Следующее было тем, что я выполнял для выполнения изменений, которые я пытался достичь. Я вложил их в окно, потому что удаление бит выполнения из /sbin/ric необходимо выполнить быстро, чтобы остановить его перезапуск. (Я пробовал stop ric , это не сработало — хотя он работал над предыдущей версией Android на телефоне).
Я изменил здесь файл hosts, так что это место, где вы вносите необходимые изменения в файловую систему. Чтобы оставить вещи так, как мы их нашли, сделайте следующее:
В какой момент ric должен автоматически перезагрузиться. (Он автоматически перезагрузился для меня.)
Ответ 13
Добавляя немного больше ответа Янга Бергстрема: потому что Android — это система на базе Linux, а в Linux в Linux содержатся косые черты (../) при использовании команды push, используйте «/» для определения пути назначения в Android-устройство.
Например, команда: adb push C:UsersadminDesktop1.JPG sdcard/pictures/
Обратите внимание, что здесь обратные косые черты используются для определения пути к исходному файлу файла, который должен быть вытолкнут с Windows PC, и косые черты используются для определения пути назначения, потому что Android — это система на основе Linux. Вам не нужно действовать как root, чтобы использовать эту команду, а также отлично работает на производственных устройствах.
Ответ 14
Иногда вы получаете ошибку, потому что место назначения в телефоне не существует. Например, какое-то местоположение внешнего хранилища телефона Android вместо /storage/emulated/0 .
Ответ 15
Спасибо, Sérgio, для команды «mount» без параметров. Мне нужно сделать adb push в /data/data/com.my.app/lib для некоторой проблемы с тестированием и получить сообщение «Только для чтения».
ls показывает мне:
[email protected]:/ # 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!
[email protected]:/ # mount . /dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0
Следующие шаги уже описаны вверх: перемонтируйте RW, нажмите и верните обратно в RO.
Ответ 16
it sames, который должен извлечь и переупаковать initrc.img и отредактировать файл init с кодом mount/system
Ответ 17
Ответ 18
В моем случае я использовал команду adb push
Я изменил его на
/Desktop/file.txt/sdcard/ а затем он сработал.
Обязательно отключите и снова подключите телефон.
Ответ 19
Если произошел сбой при копировании файла, доступного только для чтения, вы можете попробовать найти исходный файл в корневом каталоге и изменить его с помощью текстового редактора корневого текста (желательно) RB, он поставляется с приложением ROM Toolbox.
Ответ 20
Попробуйте это в терминальном эмуляторе как root:
Ответ 21
Скопировать файлы на SD-карту?
Ну, я полагаю, вам нравится копировать данные на Sd-карту с компьютера разработчиков? Возможно, вы укоренились в разработке и сделали доступную область доступной?) У меня была проблема с загрузкой файлов данных для моего приложения (Android Studio 1.3.2 в Win7), но.
- Сначала команда-команда adb должна быть найдена в пути: PATH =% PATH%; C:UsersXXXXXAppDataLocalAndroidsdkplatform-tools (папка AppData скрыта, поэтому вам нужно установить настройку папки, не скрывая скрытые файлы и папку, чтобы найти ее, Path работает независимо)
- Вам нужно указать путь к папке вправо или получить сообщение об ошибке только для чтения, скорее всего, оно должно начинаться с /sdcard или это область только для чтения. Как только я не сделал никаких проблем, нажав файл на эмулятор.
Итак, например, команда adb может выглядеть так:
Источник
Недавно я основал свой Droid X, и все, кажется, работает отлично. Я внес некоторые изменения в build.prop
, и когда я делаю adb push build.prop /system/
, я получаю следующую ошибку: failed to copy 'c:build.prop' to '/system//build.prop': Read-only file system
.
Как я могу это исправить?
Ответ 1
Получил это от форума Android, на котором я задал тот же вопрос. Надеюсь, это поможет кому-то еще.
В терминальном эмуляторе по телефону:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
Затем в командной строке введите adb push
Ответ 2
Не все телефоны и версии Android имеют все то же самое.
Ограничение параметров при пересоединении было бы лучше.
Просто перемонтируйте как rw (Чтение/Запись):
# mount -o rw,remount /system
Как только вы закончите внесение изменений, перемонтируйте ro (только для чтения):
# mount -o ro,remount /system
Ответ 3
adb remount
работает для меня и, кажется, является самым простым решением.
Ответ 4
Пока я знаю, что вопрос касается реального устройства, если кто-то попал сюда с подобной проблемой в эмуляторе, с любыми инструментами, имеющими последнее значение с февраля 2017 года, эмулятор должен быть запущен из командной строки с помощью
-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
Ответ 5
Я думаю, что самый безопасный способ — перемонтировать /system как read-write, используя:
mount -o remount,rw /system
и, когда это будет сделано, перемонтируйте его как только для чтения:
mount -o remount,ro /system
Ответ 6
На моей галактике Samsung mini S5570 (после того, как он получил корень на сотовом телефоне):
Кулак, как root, я побежал:
systemctl start adb
как обычный пользователь:
adb shell
su
Предоставить права доступа root на сенсорном экране
mount
укажите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что /dev/stl 12 был установлен в /system как ro (только готовый), поэтому нам просто нужно:
mount -o rw,remount /dev/stl12 /system
Ответ 7
В командной строке выполните следующие действия:
>adb remount
>adb push framework-res_old.apk /system/framework-res.apk
Ответ 8
Вот что сработало для меня. Я запускал эмулятор Android 7.1.1 (нуга).
На терминале я нахожу следующую команду. Одна вещь, которую нужно заметить, — это флаг -writable-system
./emulator -writable-system -avd Nexus_6_API_25 -partition-size 280
На другой вкладке
./adb shell
su
mount -o rw,remount -t ext4 /dev/block/vda /system
Все изменения, внесенные в/содержимое системы, сохранятся при перезапуске.
Ответ 9
adb disable-verity
adb reboot
adb root
adb remount
Это работает для меня и является самым простым решением.
Ответ 10
Открыть эмулятор терминала на телефоне:
затем
adb shell
после запуска этого демона
su
mount -o rw,remount /mnt/sdcard
тогда чтение только преобразуется в read-Write.
Ответ 11
mount -o rw,remount /dev/stl12 /system
работает для меня
Ответ 12
Я нашел эту статью из Google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).
В Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw в/и/system (это единственные, которые я пытался изменить) и, возможно, другие.
Следующее было тем, что я выполнял для выполнения изменений, которые я пытался достичь. Я вложил их в окно, потому что удаление бит выполнения из /sbin/ric необходимо выполнить быстро, чтобы остановить его перезапуск. (Я пробовал stop ric
, это не сработало — хотя он работал над предыдущей версией Android на телефоне).
pkill -9 ric; mount -o rw,remount -t rootfs /
chmod 640 /sbin/ric
mount -o rw,remount /system
Я изменил здесь файл hosts, так что это место, где вы вносите необходимые изменения в файловую систему. Чтобы оставить вещи так, как мы их нашли, сделайте следующее:
mount -o ro,remount /system
chmod 750 /sbin/ric
mount -o ro,remount -t rootfs /
В какой момент ric должен автоматически перезагрузиться. (Он автоматически перезагрузился для меня.)
Ответ 13
Добавляя немного больше ответа Янга Бергстрема: потому что Android — это система на базе Linux, а в Linux в Linux содержатся косые черты (../) при использовании команды push, используйте «/» для определения пути назначения в Android-устройство.
Например, команда: adb push C:UsersadminDesktop1.JPG sdcard/pictures/
Обратите внимание, что здесь обратные косые черты используются для определения пути к исходному файлу файла, который должен быть вытолкнут с Windows PC, и косые черты используются для определения пути назначения, потому что Android — это система на основе Linux. Вам не нужно действовать как root, чтобы использовать эту команду, а также отлично работает на производственных устройствах.
Ответ 14
Иногда вы получаете ошибку, потому что место назначения в телефоне не существует. Например, какое-то местоположение внешнего хранилища телефона Android < <20 > вместо /storage/emulated/0
.
Ответ 15
Спасибо, Sérgio, для команды «mount» без параметров.
Мне нужно сделать adb push
в /data/data/com.my.app/lib
для некоторой проблемы с тестированием и получить сообщение «Только для чтения».
Команда
ls показывает мне:
[email protected]:/ # 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!
[email protected]:/ # mount
.........
/dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0
Следующие шаги уже описаны вверх: перемонтируйте RW, нажмите и верните обратно в RO.
Ответ 16
it sames, который должен извлечь и переупаковать initrc.img и отредактировать файл init
с кодом mount/system
Ответ 17
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"
Ответ 18
В моем случае я использовал команду adb push ~/Desktop/file.txt ~/sdcard/
Я изменил его на ~/Desktop/file.txt/sdcard/
а затем он сработал.
Обязательно отключите и снова подключите телефон.
Ответ 19
Если произошел сбой при копировании файла, доступного только для чтения, вы можете попробовать найти исходный файл в корневом каталоге и изменить его с помощью текстового редактора корневого текста (желательно) RB, он поставляется с приложением ROM Toolbox.
Ответ 20
Попробуйте это в терминальном эмуляторе как root:
restorecon -v -R /data/media
Ответ 21
Скопировать файлы на SD-карту?
Ну, я полагаю, вам нравится копировать данные на Sd-карту с компьютера разработчиков? Возможно, вы укоренились в разработке и сделали доступную область доступной?) У меня была проблема с загрузкой файлов данных для моего приложения (Android Studio 1.3.2 в Win7), но.
- Сначала команда-команда adb должна быть найдена в пути:
PATH =% PATH%; C:UsersXXXXXAppDataLocalAndroidsdkplatform-tools (папка AppData скрыта, поэтому вам нужно установить настройку папки, не скрывая скрытые файлы и папку, чтобы найти ее, Path работает независимо) - Вам нужно указать путь к папке вправо или получить сообщение об ошибке только для чтения, скорее всего, оно должно начинаться с /sdcard или это область только для чтения. Как только я не сделал никаких проблем, нажав файл на эмулятор.
Итак, например, команда adb может выглядеть так:
adb push C:testdatat.txt/sdcard/download/t.txt
Я недавно рутировал свой Droid X и все вроде отлично работает. Я сделал некоторые изменения, build.prop
и когда adb push build.prop /system/
я получаю, я получаю следующую ошибку:failed to copy 'c:build.prop' to '/system//build.prop': Read-only file system
.
Как я могу это исправить?
Ответы:
Не на всех телефонах и версиях Android установлены одинаковые вещи.
Ограничение параметров при перемонтировании было бы наилучшим.
Просто перемонтируйте как rw (чтение / запись):
# mount -o rw,remount /system
После внесения изменений перемонтируйте в ro (только для чтения):
# mount -o ro,remount /system
adb remount
работает для меня и, кажется, самое простое решение.
Получил это на форуме Android, где я задавал тот же вопрос. Надеюсь, это поможет кому-то еще.
На эмуляторе терминала на телефоне:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
Затем в командной строке cmd выполните adb push
Хотя я знаю, что вопрос касается реального устройства, в случае, если кто-то попал сюда с похожей проблемой в эмуляторе, с какими-либо инструментами, самыми последними по состоянию на февраль 2017 года, эмулятор должен быть запущен из командной строки с помощью:
-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
Я думаю, что самый безопасный способ это перемонтировать / system как read-write, используя:
mount -o remount,rw /system
и когда закончите, перемонтируйте его только для чтения:
mount -o remount,ro /system
На моем Samsung galaxy mini S5570 (после получения рута на мобильном телефоне):
Кулак, как корень, я побежал:
systemctl start adb
как обычный пользователь:
adb shell
su
Предоставление прав root на сенсорном экране
mount
перечислите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что / dev / stl12 был смонтирован в / system как ro (только готово), поэтому нам просто нужно сделать:
mount -o rw,remount /dev/stl12 /system
Попробуйте следующее в командной строке:
>adb remount
>adb push framework-res_old.apk /system/framework-res.apk
adb disable-verity
adb reboot
adb root
adb remount
Это работает для меня и является самым простым решением.
Вот что сработало для меня. У меня было эмулированное устройство Android 7.1.1 (Nougat).
На терминале я нажал следующую команду. Одна вещь, которую нужно отметить, это флаг -writable-system
./emulator -writable-system -avd Nexus_6_API_25 -partition-size 280
На другой вкладке
./adb shell
su
mount -o rw,remount -t ext4 /dev/block/vda /system
Все изменения, внесенные вами в содержимое / system, сохранятся после перезапуска.
Я проверил с эмулятором и следующий работал.
- перезагрузка adb
- корень adb && adb remount && adb push ~ / рабочий стол / hosts / system / etc / hosts
Как уже упоминалось выше, выполните второй шаг за один выстрел.
Откройте эмулятор терминала на телефоне: тогда
adb shell
после запуска этого демона
su
mount -o rw,remount /mnt/sdcard
затем только чтение преобразуется в чтение-запись.
mount -o rw,remount /dev/stl12 /system
работает для меня
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"
Я нашел эту статью в Google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).
У Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw на / и / system (это единственные, которые я пытался изменить) и, возможно, другие.
Ниже было то, что я побежал, чтобы выполнить изменения, которые я пытался достичь. Я вставил их в окно, потому что удаление бита выполнения из / sbin / ric должно быть выполнено быстро, чтобы остановить его перезапуск. (Я пытался stop ric
; это не работает — хотя это работало на предыдущей версии Android на телефоне).
pkill -9 ric; mount -o rw,remount -t rootfs /
chmod 640 /sbin/ric
mount -o rw,remount /system
Я изменил файл hosts здесь, так что это место, где вы вносите необходимые изменения в файловую систему. Чтобы оставить вещи такими, какими мы их нашли, сделайте так:
mount -o ro,remount /system
chmod 750 /sbin/ric
mount -o ro,remount -t rootfs /
В этот момент RIC должен автоматически перезапустить. (Он перезапустился для меня автоматически.)
Добавим немного больше к ответу Яна Бергстрёма: поскольку Android — это система на основе Linux, а путь в Linux содержит косую черту (../), при использовании команды push используйте «/» для определения пути назначения на устройстве Android.
Например, команда выглядит так: adb push C: Users admin Desktop 1.JPG sdcard / pictures /
Обратите внимание, что здесь, обратная косая черта используется для определения пути к исходному файлу, который должен быть передан с компьютера с Windows, а прямая косая черта используется для определения пути назначения, потому что Android — это система на основе Linux. Вам не нужно выступать в роли пользователя root, чтобы использовать эту команду, а также, она отлично работает на производственных устройствах.
Иногда вы получаете сообщение об ошибке, потому что адресата в телефоне не существует. Например, некоторые андроид телефон внешнего хранилища /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
Копировать файлы на SD-карту?
Ну, я полагаю, вам нравится копировать данные на SD-карту с компьютера разработчиков? Возможно, вы укоренили устройство и сделали доступной область, к которой обращаетесь?) У меня была примерно такая же проблема при загрузке файлов данных для моего приложения (Android Studio 1.3.2 в Win7), но.
- Сначала нужно найти командную оболочку adb по следующему пути: PATH =% PATH%; C: Users XXXXX AppData Local Android sdk platform-tools (папка AppData скрыта, поэтому необходимо установить в настройках папки не скрываются скрытые файлы и папка для ее поиска, путь работает независимо)
- Вы должны правильно указать путь к папке, или вы получите сообщение об ошибке только для чтения, скорее всего, оно должно начинаться с / sdcard или это область только для чтения. Как только я без проблем запихнул файл в эмулятор.
Так, например, команда adb может выглядеть так:
adb push C: testdata t.txt /sdcard/download/t.txt
Если при копировании файла, доступного только для чтения, происходит сбой, можно попытаться найти исходный файл в корневом каталоге и изменить его с помощью корневого текстового редактора (предпочтительно) текстового редактора RB, он поставляется с приложением ROM Toolbox.
Попробуйте это в эмуляторе терминала от имени пользователя root:
restorecon -v -R /data/media
В моем случае я использовал команду adb push ~/Desktop/file.txt ~/sdcard/
Я изменил это на ~/Desktop/file.txt /sdcard/
и тогда это сработало.
Обязательно отключите и снова подключите телефон.
Как упоминал Чэнь-Син, самый простой способ:
adb reboot
Но мне пришлось сначала изменить свои настройки:
Настройки → Параметры разработчика → Root-доступ
Убедитесь, что у ADB есть Root-доступ: