0

我正在为 Play 上不可用的商业市场开发应用程序,并且我有一个定制的特定目标设备,但不是由我定制的。某些 3rd 方 SDK 资源需要安装在 SDCard 目录中。仅此一项就很简单了。

我面临的问题是 sdcard 目录已以只读方式安装。请注意,实际上并不是 sdcard,它是内部驱动器上的一个分区。它实际上是 mount rw 点,发生了一些变化,现在我被只读 sdcard 目录困住了。

到目前为止我已经尝试过:

  1. 尝试重新挂载 sdcard 挂载点。没有奏效。即使我以 root 身份登录。没有提供错误。

    mount -o remount,rw /dev/block/mmcblk1p4 /mnt/sdcard

  2. 检查 /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 ,错误=重新安装-ro 0 0

  3. 检查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自动/设备/平台/mmci-omap-hs.0/mmc_host/mmc0

  4. 从引导检查 logcat 输出。没有任何迹象表明安装有错误,但是我什至不确定 mount/vold 是否会向 logcat 报告。然而,有一些错误表明启动应用程序无法写入 sdcard。

在这一点上我非常困惑。有谁知道解决这个问题的可靠方法?

编辑:

这次我尝试了不同的挂载选项

mount -w -o remount /dev/block/mmcblk1p4 /mnt/sdcard

这工作了一段时间,我可以做一些文件操作,但它最终恢复到 RO,几乎在几分钟内。

4

2 回答 2

1

设法解决了问题。文件系统已损坏,因此系统强制重新挂载为只读。简单的解决方法是重新创建文件系统。

于 2012-06-13T17:09:36.427 回答
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
于 2012-06-12T21:29:15.810 回答