Ответ 1
Я нашел, что это работает
$./adb shell
$su
mount -o rw,remount rootfs /
chmod 777 /mnt/sdcard
exit
Источник: http://www.coderanch.com/t/611842/Android/Mobile/Android-emulator-sdcard-writable
Я развиваюсь под Android 1.6 (Android SDK 2.1). Я создаю avd с помощью avd-менеджера в Eclipse. Когда я запускаю этот avd, я обнаружил, что разрешающая способность каталога /sdcard - "d ---------". Поэтому я не могу нажать файл на SD-карту.
Кто-нибудь знает, как решить эту проблему?
Я нашел, что это работает
$./adb shell
$su
mount -o rw,remount rootfs /
chmod 777 /mnt/sdcard
exit
Источник: http://www.coderanch.com/t/611842/Android/Mobile/Android-emulator-sdcard-writable
Как только вы запустили эмулятор из одной оболочки, войдите в другую оболочку и введите
adb shell
Вы должны увидеть # prompt
, это оболочка вашего устройства (эмулятора). Теперь введите следующую команду в оболочке adb.
mount -o remount rw /sdcard
Теперь он перемонтирует /sdcard
с помощью разрешения rw(read-write)
, и теперь вы можете подтолкнуть свои файлы к /sdcard
, используя следующую команду из вашей оболочки хоста.
`adb push filename.mp3 /sdcard,`
где filename.mp3 может быть любым файлом, который вы хотите нажать в Android-эмулятор.
Надеюсь, что это поможет:)
Обеспечьте две вещи в утилите менеджера AVD для эмулятора:
Размер SD-карты указан, например. 512.
В теге "Оборудование" нажмите "Создать" и выберите "Поддержка SD-карт" в раскрывающемся меню.
Теперь запустите эмулятор. SD Card теперь также поддерживает запись.
Студия Android версии 0.8.9 и выше имеет ошибку, создающую AVD.
См. Проблема 78434.
Обход
hw.sdCard=no
на hw.sdCard=yes
это должно работать для всех в новых сборках
Возможно, это звучит глупо, но это сработало для меня, когда у меня была такая же проблема: удалите созданный 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
Надеюсь, что это поможет!
Я думаю, проблема здесь в том, что вы забыли установить размер SD-карты
Для этого выполните следующие действия:
Это хорошо работает в моем эмуляторе!
Убедитесь, что вы указали значение, превышающее нулевое значение для Размер SD-карты в окне создания AVD для этого конкретного эмулятора.
mount -o remount, rw/sdcard
это правильный способ перемонтировать вашу SD-карту с помощью эмулятора.
Я увеличил виртуальную память SD-карты до 512 МБ для эмулятора, и этого было достаточно
Я попробовал @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 покажет вам время передачи вместо жуткой вещи только для чтения:)
убедитесь, что у вас есть правильные разрешения.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Я думаю, вы не вставляли размер памяти во время создания avd. вы можете это сделать, отредактировав avd.
Windows использует обратные косые черты, linux использует косые черты.
иногда это может быть причиной очень простой причины, перейдите в свой список в eclipse и проверьте, установлен ли размер SDCard
У меня возникла проблема с предварительным просмотром developerWorks для Android L, и, по крайней мере, для этой версии, я решил это, создав SD-карту с размером, имеющим квадратный размер 2 (например, 128M, 256M и т.д.).
В adb версии 1.0.32 и Eclipse Luna (v 4.4.1).
Я нашел директорию на avd/mnt/media_rw/sdcard, которую вы можете написать, используя команду adb. adb push {source}/mnt/media_rw/sdcard
Кажется, что доступ к этому каталогу принадлежит rw.
Надеюсь, что это поможет: -)
Альтернативный способ: Сбросьте диск (из настроек/хранилища) и заново установите SD-карту также устраняет проблему. (проверьте, перемещая файл из внутреннего хранилища на SD-карту) В любом случае, этот простой метод сохранил мою задницу на этот раз:)
Он определенно работает
Со мной в конце помогли В эмуляторе для запуска диспетчера приложений и установление разрешений для хранения.
Попробуйте это в терминальном эмуляторе как root:
restorecon -v -R /data/media