Android-эмулятор sdcard push error: файловая система только для чтения

Я развиваюсь под Android 1.6 (Android SDK 2.1). Я создаю avd с помощью avd-менеджера в Eclipse. Когда я запускаю этот avd, я обнаружил, что разрешающая способность каталога /sdcard - "d ---------". Поэтому я не могу нажать файл на SD-карту.

Кто-нибудь знает, как решить эту проблему?

Ответ 2

Как только вы запустили эмулятор из одной оболочки, войдите в другую оболочку и введите

adb shell

Вы должны увидеть # prompt, это оболочка вашего устройства (эмулятора). Теперь введите следующую команду в оболочке adb.

mount -o remount rw /sdcard

Теперь он перемонтирует /sdcard с помощью разрешения rw(read-write), и теперь вы можете подтолкнуть свои файлы к /sdcard, используя следующую команду из вашей оболочки хоста.

`adb push filename.mp3 /sdcard,`

где filename.mp3 может быть любым файлом, который вы хотите нажать в Android-эмулятор.

Надеюсь, что это поможет:)

Ответ 3

Обеспечьте две вещи в утилите менеджера AVD для эмулятора:

  • Размер SD-карты указан, например. 512.

  • В теге "Оборудование" нажмите "Создать" и выберите "Поддержка SD-карт" в раскрывающемся меню.

Теперь запустите эмулятор. SD Card теперь также поддерживает запись.

Ответ 4

Студия Android версии 0.8.9 и выше имеет ошибку, создающую AVD.

См. Проблема 78434.

Обход

  • перейдите в папку ADV в папке .android и найдите свой AVD config.ini
  • откройте его текстовым редактором, который может обрабатывать символы новой строки unix. (Блокнот будет запускать линии вместе, поскольку у них нет CR-LF.)
  • изменить hw.sdCard=no на hw.sdCard=yes

это должно работать для всех в новых сборках

Ответ 5

Возможно, это звучит глупо, но это сработало для меня, когда у меня была такая же проблема: удалите созданный avd и создайте его снова через AVD Manager с SD-картой, например, 512 МБ.

Убедитесь, что оба имеют правильные разрешения, а если нет, попробуйте изменить их с помощью chmod.

И если все по-прежнему не удается, повторите процесс, но создав как avd, так и sd-карту вручную через терминал:

android create avd -n my_avd -t 7
mksdcard -l e 512M mysdcard.img
emulator -avd my_avd -sdcard mysdcard.img

Надеюсь, что это поможет!

Ответ 6

Я думаю, проблема здесь в том, что вы забыли установить размер SD-карты

Для этого выполните следующие действия:

  • step1: закрыть эмулятор запуска
  • step2: откройте Android Virtual Device Manager (панель меню Eclipse)
  • step3: выберите свой эмулятор → Изменить → затем установите размер карты SD

Это хорошо работает в моем эмуляторе!

Ответ 7

Убедитесь, что вы указали значение, превышающее нулевое значение для Размер SD-карты в окне создания AVD для этого конкретного эмулятора.

Ответ 8

mount -o remount, rw/sdcard

это правильный способ перемонтировать вашу SD-карту с помощью эмулятора.

Ответ 9

Я увеличил виртуальную память SD-карты до 512 МБ для эмулятора, и этого было достаточно

Ответ 10

Я попробовал @user2002993 отличную помощь, но это одно место, нужно немного редактировать, поэтому я редактировал, и вот что работало для меня на андроид-студии, эмуляторе android 5. перейдите в папку adb правой кнопкой мыши на пустой арене и выберите "opne command window here here" или если вы установили adb с помощью adb-installer open cmd и введите эти команды (чтобы не понимать, что я сделал команду BOLD)

устройства adb

"он должен показать номер вашего эмулятора и деталь, а затем следующую команду:"

adb shell

"теперь это shuld show u prompt #"

су

mount -o rw, remount rootfs

chmod 777/mnt/sdcard

Выход

Выход

Да, нужен двойной выход.. теперь у вас нет подсказки оболочки adb. поместите файл в свою папку adb и передайте эту команду и убедитесь, что она исправлена.

adb push "ваше имя файла: 1.jpg" /sdcard/

или

adb push "ваше имя файла, например: 1.jpg" /storage/sdcard/

теперь в cmd это shoudl покажет вам время передачи вместо жуткой вещи только для чтения:)

Ответ 11

убедитесь, что у вас есть правильные разрешения.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

Ответ 12

Я думаю, вы не вставляли размер памяти во время создания avd. вы можете это сделать, отредактировав avd. screenshot

Ответ 13

Windows использует обратные косые черты, linux использует косые черты.

Ответ 14

иногда это может быть причиной очень простой причины, перейдите в свой список в eclipse и проверьте, установлен ли размер SDCard

Ответ 15

У меня возникла проблема с предварительным просмотром developerWorks для Android L, и, по крайней мере, для этой версии, я решил это, создав SD-карту с размером, имеющим квадратный размер 2 (например, 128M, 256M и т.д.).

Ответ 16

В adb версии 1.0.32 и Eclipse Luna (v 4.4.1).

Я нашел директорию на avd/mnt/media_rw/sdcard, которую вы можете написать, используя команду adb. adb push {source}/mnt/media_rw/sdcard

Кажется, что доступ к этому каталогу принадлежит rw.

Надеюсь, что это поможет: -)

Ответ 17

Альтернативный способ: Сбросьте диск (из настроек/хранилища) и заново установите SD-карту также устраняет проблему. (проверьте, перемещая файл из внутреннего хранилища на SD-карту) В любом случае, этот простой метод сохранил мою задницу на этот раз:)

Ответ 18

  • Дайте размер Sdcard в эмуляторе
  • отключен параметр только для чтения из c:\user... android\avd → properties
  • нажмите файл через проводник файлов
  • перезапустить эмулятор

Он определенно работает

Ответ 19

Со мной в конце помогли В эмуляторе для запуска диспетчера приложений и установление разрешений для хранения.

Ответ 20

Попробуйте это в терминальном эмуляторе как root:

restorecon -v -R /data/media