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

我正在Android 1.6(Android SDK 2.1)下进行开发。

我通过在Eclipse中使用avd管理器创建avd。

当启动此avd时,我发现/ sdcard目录的权限是" d ---------"。

因此,我无法将文件推送到sdcard。

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

试试这个:stackoverflow.com/questions/2083709/

我发现这个作品

$./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

mount:rootfs不能在fstab中用户挂载

su无法用于非根设备

从一个外壳启动仿真器后,登录到另一个外壳并键入

adb shell

您应该看到显示的# prompt,这是您的设备(仿真器)外壳。现在,在adb shell上键入以下命令。

mount -o remount rw /sdcard

现在这将获得具有rw(read-write)权限的/sdcard重新挂载&现在您可以通过从主机外壳使用以下命令将文件推送到/sdcard中。

`adb push filename.mp3 /sdcard,`

其中filename.mp3可以是您要推送到Android仿真器的任何文件。

希望这可以帮助 :)

即使重新安装不起作用,也请查看链接是否正确。那是sdcard -> mntsdcard。如果链接正确,请检查目录mntsdcard的权限。如果没有必要的权限,请发出chmod命令来执行此操作。例如,# chmod 0777 mntsdcard应该可以工作。 PS:您通常不需要执行权限。

我和@Hissain有相同的问题。我能够使其代替以下命令使用它们:mount -o rw,remount rootfs和chmod 777 mntsdcard。希望这可以帮助。

su:找不到...安装:权限被拒绝

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

提到了SD卡的大小,例如512。

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

现在,启动模拟器。 SD卡现在也将支持写入。

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

我看到仅在命令行上创建的avds的硬件标签。

Android Studio 0.8.9及更高版本存在创建AVD的错误。

请参阅问题78434。

解决方法

转到.android文件夹中的ADV文件夹并找到您的AVD config.ini

使用可以处理Unix换行符的文本编辑器将其打开。 (由于记事本没有CR-LF,因此它们将一起运行。)

将hw.sdCard=no更改为hw.sdCard=yes

这应该适合新版本中的每个人

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

是的,那就是新的解决方案。不客气:)非常高兴它帮助你。是的,这是很好的解决方案。因为只要这个问题持续存在,任何人都无法使用所有这些linux代码:)

正因为如此,我才迷失了多少时间...非常感谢!

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

检查两者是否都具有正确的权限,如果没有,请尝试使用chmod进行更改。

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

android create avd -n my_avd -t 7

mksdcard -l e 512M mysdcard.img

emulator -avd my_avd -sdcard mysdcard.img

希望有帮助!

@AnkitSrivastava您应该在终端中执行此命令(以我为例,为bash)。

不需要重新创建AVD,只需重新启动它即可。

是。创建其他类型的AVD的作品。谢谢。这也解决了另一个问题。现在我可以使用相机了。

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

请按照以下步骤操作:

第一步:关闭正在运行的模拟器

步骤2:打开Android虚拟设备管理器(Eclipse菜单栏)

第三步:选择模拟器->编辑->然后设置SD卡大小

这在我的模拟器中效果很好!

请确保在"创建AVD窗口"中为该特定仿真器指定的SD卡大小值大于零。

挂载-o重新挂载,rw / sdcard

这是使用模拟器重新安装sdcard的正确方法。

我尝试了@ 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中它应该向您显示传输时间而不是令人毛骨悚然的只读内容

和我不幸的是.. android studio版本8.10及更高版本,改变了一点工作室结构给出此错误...我用Studio 8.09测试,没有这样的只读错误google应该解决这个问题

我为模拟器将sdcard的虚拟内存增加到512 MB,这足够了

我猜您在创建avd时没有插入内存大小。您可以通过编辑avd来做到这一点。

6fcfdbe1f9fa4b3958fe5396eafee502.png

我在Android L开发者预览版上遇到了这个问题,并且至少在此版本中,我通过创建大小为平方2的sdcard(例如128M,256M等)解决了此问题

以root身份在终端仿真器中尝试以下操作:

restorecon -v -R /data/media

在adb 1.0.32版和Eclipse Luna(v 4.4.1)中。

我在avd / mnt / media_rw / sdcard中找到了一个目录,您可以使用adb命令写入该目录。

亚行推送{源} / mnt / media_rw / sdcard

似乎可以通过rw访问该目录。

希望这可以帮助 :-)

替代方式:

卸载驱动器(从设置/存储中)并重新安装sdcard

也解决了问题。 (通过将文件从内部存储移动到sdcard进行验证)

无论如何,这个简单的方法这次救了我的屁股:)

Windows使用反斜杠,Linux使用正斜杠。

在模拟器中给Sdcard任意大小

取消选中c: user ... android avd->属性中的只读选项

通过文件资源管理器推送文件

重新启动模拟器

肯定会的

确保您具有正确的权限。

最终有了我的帮助

在模拟器上运行应用程序管理器

并设置存储权限。

有时这可能是非常简单的原因,

在eclipse中转到您的列表,并检查是否已设置SDCard大小

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值