我正在Android 1.6(Android SDK 2.1)下进行开发。我通过在Eclipse中使用avd管理器来创建avd。当启动此avd时,我发现/ sdcard目录的权限是“ d ---------”。所以我不能将文件推送到sdcard。
有谁知道如何解决这个问题?
Answers:
我发现这个作品
$./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 shell上键入以下命令。
mount -o remount rw /sdcard
现在/sdcard
,这将在rw(read-write)
获得许可的情况下重新挂载,现在您可以/sdcard
从主机外壳使用以下命令将文件推送到其中。
`adb push filename.mp3 /sdcard,`
其中filename.mp3可以是您要推送到Android仿真器的任何文件。
希望这可以帮助 :)
/sdcard -> /mnt/sdcard
。如果链接正确,请检查目录的权限/mnt/sdcard
。如果没有必要的权限,请发出chmod命令来执行此操作。例如# chmod 0777 /mnt/sdcard
应该工作。PS:您通常不需要执行权限。
mount -o rw,remount rootfs /
和chmod 777 /mnt/sdcard
。希望这可以帮助。
确保模拟器的AVD Manager实用程序中有两件事:
提到了SD卡大小,例如512。
在“硬件”标签中,按“新建”,然后从下拉菜单中选择“ SD卡支持”。
现在,启动模拟器。SD卡现在也将支持写入。
Android Studio 0.8.9及更高版本存在创建AVD的错误。
参见问题78434。
解决方法
hw.sdCard=no
为hw.sdCard=yes
这应该适合新版本中的每个人
也许听起来很愚蠢,但是当我遇到相同的问题时,它对我有用:删除创建的avd,然后通过AVD Manager通过带有512MB sd卡的av卡再次创建。
检查两者是否都具有正确的权限,如果没有,请尝试使用chmod进行更改。
如果一切仍然失败,请重复该过程,但通过终端手动创建avd和sd卡:
android create avd -n my_avd -t 7
mksdcard -l e 512M mysdcard.img
emulator -avd my_avd -sdcard mysdcard.img
希望有帮助!
我尝试了@ user2002993很大的帮助,但是在一个地方需要进行一点编辑,所以我进行了编辑,这里介绍了在Android Studio(模拟器android 5)上对我有用的方法。
转到您的adb文件夹,右键单击空白区域,然后选择“此处打开命令窗口”,或者如果您通过adb-installer安装了adb,请打开cmd
并键入以下命令:
adb devices
它应该显示您的模拟器编号和详细信息。然后在这里遵循命令:
adb shell
现在它应该显示提示#
su
mount -o rw,remount rootfs
chmod 777 /mnt/sdcard
exit
exit
是的,需要两次退出,现在您的adb shell提示消失了。将文件放入您的adb文件夹中,并发出此命令,看看是否已修复。
adb push "your file name like : 1.jpg" /sdcard/
要么
adb push "your file name like : 1.jpg" /storage/sdcard/
现在在cmd中它应该向您显示传输时间而不是令人毛骨悚然的只读内容
有时这可能是非常简单的原因,请在eclipse中转到您的列表,并检查是否已设置SDCard大小
替代方法:卸下驱动器(从设置/存储)并重新安装sdcard也可以解决该问题。(通过将文件从内部存储移动到sdcard进行验证),无论如何,这个简单的方法这次保存了我的屁股:)
肯定会的