我在Android 1.6(Android SDK 2.1)下开发。 我在Eclipse中使用avd manager创建了一个avd。 当我启动这个avd时,我发现/ sdcard目录的权限是“d ---------”。 所以我无法将文件推送到SD卡。
有谁知道如何解决这个问题?
答案 0 :(得分:129)
我发现这件作品
$./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
答案 1 :(得分:48)
从一个shell启动模拟器后,登录到另一个shell&输入
adb shell
您应该看到显示# prompt
,这是您的设备(模拟器)shell。现在,在adb shell中键入以下命令。
mount -o remount rw /sdcard
现在,/sdcard
允许rw(read-write)
同时重新安装/sdcard
现在,您可以使用主机shell中的以下命令将文件推送到`adb push filename.mp3 /sdcard,`
。
{{1}}
其中filename.mp3可以是您想要推送到Android模拟器中的任何文件。
希望这会有所帮助:)
答案 2 :(得分:19)
确保仿真器的AVD管理器实用程序中有两件事:
提到SD卡大小,例如512。
从硬件标签中,按新建,然后从下拉菜单中选择“SD卡支持”。
现在,启动模拟器。 SD卡现在也支持写作。
答案 3 :(得分:10)
Android studio 0.8.9及更高版本有一个创建AVD的错误。
请参阅Issue 78434。
解决方法强>
hw.sdCard=no
更改为hw.sdCard=yes
这适用于新版本中的每个人
答案 4 :(得分: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
希望有所帮助!
答案 5 :(得分:6)
我认为这里的问题是你忘记设置SD卡尺寸
按照以下步骤使其正常工作:
这在我的模拟器中运行良好!
答案 6 :(得分:4)
确保您在特定模拟器的“创建AVD”窗口中为 SD卡大小指定了大于零的值。
答案 7 :(得分:3)
mount -o remount,rw / sdcard
这是使用模拟器重新安装SD卡的正确方法。
答案 8 :(得分:2)
我将SD卡的虚拟内存增加到512 MB,这对于模拟器来说已经足够了
答案 9 :(得分:2)
我试过@ 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中,它显示你转移时间而不是令人毛骨悚然的只读事物
答案 10 :(得分:1)
我猜,你在创建avd时没有插入内存大小。你可以通过编辑avd来做到这一点。
答案 11 :(得分:0)
以root身份在终端仿真器中尝试此操作:
restorecon -v -R /data/media
答案 12 :(得分:0)
随着我的到来帮助 在模拟器中运行应用程序管理器 并设置存储权限。
答案 13 :(得分:0)
一定会有效
答案 14 :(得分:0)
替代方式: 卸下驱动器(从设置/存储中)并重新安装SD卡 还解决了这个问题。 (通过将文件从内部存储器移动到SD卡来验证) 无论如何,这个简单的方法这次保存了我的屁股:)
答案 15 :(得分:0)
在adb版本1.0.32和Eclipse Luna(v 4.4.1)中。
我在avd / mnt / media_rw / sdcard中找到了一个可以使用adb命令写入的目录。 adb push {source} / mnt / media_rw / sdcard
似乎有rw访问此目录。
希望这会有所帮助: - )
答案 16 :(得分:0)
我在Android L开发者预览版上遇到了这个问题,至少对于这个版本,我通过创建一个尺寸为2平方尺寸(例如128M,256M等)的SD卡解决了这个问题。
答案 17 :(得分:0)
有时这可能是一个非常简单的原因, 转到eclipse中的列表并检查是否已设置SDCard大小
答案 18 :(得分:0)
Windows使用反斜杠,linux使用正斜杠。
答案 19 :(得分:0)
确保您拥有正确的权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />