在Android上查找SD卡卷标

时间:2011-11-16 12:34:12

标签: android linux android-sdcard

是否可以找到插入Android设备的SD卡的卷标?

据我所知,Android只设计了一个“外部存储”(由Environment.getExternalStorageDirectory()返回),但有很多设备在内部将内部闪存作为“外部存储”和SD卡片安装在那个甚至更狂野的组合下(见this other question)。可以通过阅读/proc/mounts来枚举这些附加设备,但我们需要一些东西来识别用户。有没有机会获得他们的卷标?

我从util-linux ignores the volume label dentry altogether检查了Linux vfat驱动程序reads the vfat itselfblkid。我还检查过,至少在我的设备上,SD卡的块设备有模式660和所有者root.root,所以我不能这样做。所以基本上它归结为是否有任何可以读取它的实用程序。

4 个答案:

答案 0 :(得分:1)

我找到了解决方案。

最简单的解决方案是构建busybox并像这样使用它: busybox blkid

复杂的解决方案是找到适用于Android的blkid,并在其源代码中找到所需内容(blkid_dev_devname函数)。

答案 1 :(得分:0)

我不知道它在android中是如何工作的,但在linux中我有关于安装sd-card的内核消息,其中指定了卷名。你可以试试dmesg和cat / sys / devices / mmc ......(或类似的东西)

答案 2 :(得分:0)

尝试解析blkid命令的输出。它适用于我,但我不确定它是否是固件依赖功能。我在AVD上使用此命令获得permission denied

答案 3 :(得分:-1)

我不知道这是否可以帮助您:如果您使用DDMS,您可以看到系统的文件夹。就我而言,我在/ mnt / media_rw中找到了SD卡。

您可以获得更多信息herehere

我希望它有所帮助。