我正在使用Android 1.6(Android SDK 2.1)进行开发。 我在Eclipse中使用avd管理器创建了一个avd。 当我启动这个avd时,我发现/sdcard目录的权限是“d---------”。 因此,我无法将文件推送到sd卡上。
有人知道如何解决这个问题吗?
我正在使用Android 1.6(Android SDK 2.1)进行开发。 我在Eclipse中使用avd管理器创建了一个avd。 当我启动这个avd时,我发现/sdcard目录的权限是“d---------”。 因此,我无法将文件推送到sd卡上。
有人知道如何解决这个问题吗?
$./adb shell
$su
mount -o rw,remount rootfs /
chmod 777 /mnt/sdcard
exit
从一个 Shell 启动模拟器后,登录到另一个 Shell 并输入以下命令:
adb shell
你应该看到显示了# prompt
,这是你的设备(模拟器)shell。现在,在adb shell中输入以下命令。mount -o remount rw /sdcard
现在将会以rw(读写)
权限重新挂载/sdcard
,然后您可以使用以下命令从主机shell将文件推送到/sdcard
。
`adb push filename.mp3 /sdcard,`
其中filename.mp3可以是您想要推送到Android模拟器中的任何文件。
希望这可以帮到你 :)
/sdcard -> /mnt/sdcard
。如果已经正确链接,请检查目录 /mnt/sdcard
的权限。如果必要的权限不存在,则发出 chmod 命令进行更改。例如 # chmod 0777 /mnt/sdcard
应该可以解决问题。
PS:通常情况下您不需要执行权限。 - C--mount -o rw,remount rootfs /
和 chmod 777 /mnt/sdcard
。希望这能帮到你。 - TragedyStruck在模拟器的AVD管理器工具中要确保两件事:
SD卡大小已经被指定,例如512。
从硬件标签中,点击“新增”并从下拉菜单中选择“SD卡支持”。
现在,启动模拟器。SD卡现在将支持写入操作。
Android studio版本0.8.9及以上存在一个创建AVDs的错误。
请参见问题78434。
解决方法
hw.sdCard=no
更改为 hw.sdCard=yes
这对所有新版用户都应该有效。
android create avd -n my_avd -t 7
mksdcard -l e 512M mysdcard.img
emulator -avd my_avd -sdcard mysdcard.img
我认为问题在于你忘记设置SD卡大小
按照以下步骤进行操作:
这在我的模拟器中运行良好!
我试了@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 push "your file name like : 1.jpg" /sdcard/
adb push "your file name like : 1.jpg" /storage/sdcard/
mount -o remount, rw /sdcard
这是在模拟器中重新挂载SD卡的正确方法。
我将模拟器的SD卡虚拟内存增加到512 MB,这已经足够了。