我正在开发一个商业市场的应用程序,在Play上无法使用,我有一个特定的目标设备是定制的,但不是我。需要在SDCard目录中安装某些第三方SDK资源。仅此一点很容易。
我面临的问题是sdcard目录以某种方式挂载为只读。注意,实际上没有SD卡,它是内部驱动器上的分区。它实际上是挂载rw,有些东西改变了,现在我被只读的sdcard目录所困扰。
到目前为止我尝试过:
尝试重新安装sdcard挂载点。没工作。即使我以root身份登录。没有提供错误。
mount -o remount,rw / dev / block / mmcblk1p4 / mnt / sdcard
检查/ proc / mounts。我可以在/ proc / mounts中看到sdcard已经安装了ro。我不知道的是,如果在Android中有一个fstab等价物,那么我更改选项。我被告知vold.fstab是我应该去的地方但是......
/ dev / block / mmcblk1p4 / mnt / sdcard vfat ro,relatime,uid = 1000,gid = 1015,fmask = 0202,dmask = 0202,allow_utime = 0020,codepage = cp437,iocharset = iso8859-1,shortname = mixed,utf8,errors = remount-ro 0 0
选中vold.fstab。这与/ proc / mount中显示的设备不同。
dev_mount sdcard / mnt / sdcard 4 /devices/platform/mmci-omap-hs.1/mmc_host/mmc1 dev_mount usbdisk / mnt / sdcard / usbdisk auto /devices/platform/ehci-omap.0 dev_mount extsd / mnt / sdcard / extsd auto /devices/platform/mmci-omap-hs.0/mmc_host/mmc0
检查启动时的logcat输出。没有任何迹象表明安装有错误,但是我甚至不确定mount / vold是否会向logcat报告。然而,有许多错误表明启动应用程序无法写入SD卡。
我现在非常困惑。有没有人知道解决这个问题的确定方法?
修改
这次我尝试了不同的挂载选项
mount -w -o remount /dev/block/mmcblk1p4 /mnt/sdcard
这可以工作一段时间,我可以做一些文件操作,但它最终会在几分钟内恢复到RO。
答案 0 :(得分:1)
管理解决问题。文件系统已损坏,因此系统强制重新装入只读。简单的解决方法是重新创建文件系统。
答案 1 :(得分:0)
不可否认,这不是在Android上,但我必须安装ntfs-3g并配置fstab因此:
/dev/sda1 /media/mycard ntfs-3g rw,umask=0000,defaults 0 0
或使用
安装mount -t cifs -o uid=1000 /dev/sda1 /media/mycard