我正在为 Play 上不可用的商业市场开发应用程序,并且我有一个定制的特定目标设备,但不是由我定制的。某些 3rd 方 SDK 资源需要安装在 SDCard 目录中。仅此一项就很简单了。
我面临的问题是 sdcard 目录已以只读方式安装。请注意,实际上并不是 sdcard,它是内部驱动器上的一个分区。它实际上是 mount 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 ,错误=重新安装-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自动/设备/平台/mmci-omap-hs.0/mmc_host/mmc0
从引导检查 logcat 输出。没有任何迹象表明安装有错误,但是我什至不确定 mount/vold 是否会向 logcat 报告。然而,有一些错误表明启动应用程序无法写入 sdcard。
在这一点上我非常困惑。有谁知道解决这个问题的可靠方法?
编辑:
这次我尝试了不同的挂载选项
mount -w -o remount /dev/block/mmcblk1p4 /mnt/sdcard
这工作了一段时间,我可以做一些文件操作,但它最终恢复到 RO,几乎在几分钟内。