Android Emulator sdcard推送错误:只读文件系统

Leo*_*eox 69 android-emulator

我正在Android 1.6(Android SDK 2.1)下开发.我在Eclipse中使用avd manager创建了一个avd.当我启动这个avd时,我发现/ sdcard目录的权限是"d ---------".所以我无法将文件推送到SD卡.

有谁知道如何解决这个问题?

小智 131

我发现这个有效

$./adb shell
$su
mount -o rw,remount rootfs /
chmod 777 /mnt/sdcard
exit
Run Code Online (Sandbox Code Playgroud)

资料来源:http://www.coderanch.com/t/611842/Android/Mobile/Android-emulator-sdcard-writable

  • $ su对我来说是不必要的,但这很有用. (3认同)
  • su 不适用于非 root 设备 (2认同)

小智 48

从一个shell启动模拟器后,登录到另一个shell和类型

adb shell
Run Code Online (Sandbox Code Playgroud)

你应该看到# prompt显示,这是你的设备(模拟器)shell.现在,在adb shell中键入以下命令.

mount -o remount rw /sdcard
Run Code Online (Sandbox Code Playgroud)

现在/sdcard,这将通过rw(read-write)权限进行重新安装,现在您可以/sdcard使用主机shell中的以下命令将文件推送到其中.

`adb push filename.mp3 /sdcard,`
Run Code Online (Sandbox Code Playgroud)

其中filename.mp3可以是您想要推送到Android模拟器的任何文件.

希望这可以帮助 :)

  • 我和@Hissain有同样的问题.我能够使用这些命令:`mount -o rw,remount rootfs /`和`chmod 777/mnt/sdcard`.希望这可以帮助. (12认同)
  • mount -o remount rw/sdcard显示来自adb的无效参数..... :( @ ashutosh (11认同)

小智 19

确保模拟器的AVD管理器实用程序中有两件事:

  1. 提到SD卡大小,例如512.

  2. 从硬件标签,按新建,然后从下拉菜单中选择"SD卡支持".

现在,启动模拟器.SD卡现在也支持写作.

  • 硬件标签在哪里?我在编辑 Android 虚拟设备 (AVD) 中没有看到 (2认同)

afr*_*var 10

Android studio 0.8.9及更高版本有一个创建AVD的错误.

问题78434.

解决方法

  • 转到.android文件夹中的ADV文件夹,找到你的AVD config.ini
  • 使用可以处理unix换行符的文本编辑器打开它.(记事本会将这些线路连在一起,因为它们没有CR-LF.)
  • 改变hw.sdCard=nohw.sdCard=yes

这适用于新版本中的每个人

  • 谢谢你的链接,这帮助了我.现在推荐的解决方案是找到您的AVD config.ini并将hw.sdCard = no更改为hw.sdCard = yes.这对我有用. (2认同)

Edu*_*ora 7

也许这听起来很愚蠢但是当我遇到同样的问题时它对我有用:删除创建的avd并通过AVD Manager再次创建一个SD卡,例如512MB.

检查两者是否具有正确的权限,如果没有,请尝试使用chmod更改它们.

如果一切仍然失败,请重复此过程,但通过终端手动创建avd和SD卡:

android create avd -n my_avd -t 7
mksdcard -l e 512M mysdcard.img
emulator -avd my_avd -sdcard mysdcard.img
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!


小智 6

我认为这里的问题是你忘了设置SD卡大小

请按照以下步骤使其工作:

  1. step1:关闭运行模拟器
  2. step2:打开Android Virtual Device Manager(eclipse菜单栏)
  3. step3:选择你的模拟器 - >编辑 - >然后设置SD卡大小

这在我的模拟器中运行良好!