如何获取Android设备的所有挂载点信息?

时间:2011-07-26 02:05:16

标签: android

如何以编程方式获取Android设备的所有挂载点信息?

5 个答案:

答案 0 :(得分:8)

您可以通过检查/proc/partitions来查看系统已知的分区。来自我的HTC Desire:

major minor  #blocks  name

  31        0        640 mtdblock0
  31        1       4608 mtdblock1
  31        2       3072 mtdblock2
  31        3     256000 mtdblock3
  31        4      40960 mtdblock4
  31        5     151168 mtdblock5
 179        0    3872256 mmcblk0
 179        1    2872070 mmcblk0p1
 179        2    1000185 mmcblk0p2

mtdblock设备是手机的内部闪存存储。 mmcblk0是手机的SD卡。

查看安装位置的最佳方法是检查/proc/self/mountinfo。这比/proc/mounts更好,因为后者错过了某些信息。再次,在我的HTC Desire上(我添加了列标题并通过column -s运行输出以获得良好的衡量标准):

ID  PARENT  BLOCK  ROOT              MOUNTPOINT                   OPTIONS                             -  TYPE     SOURCE                 SUPEROPTS
1   1       0:1    /                 /                            ro,relatime                         -  rootfs   rootfs                 ro
11  1       0:11   /                 /dev                         rw,relatime                         -  tmpfs    tmpfs                  rw,mode=755
12  11      0:9    /                 /dev/pts                     rw,relatime                         -  devpts   devpts                 rw,mode=600
13  1       0:3    /                 /proc                        rw,relatime                         -  proc     proc                   rw
14  1       0:12   /                 /sys                         rw,relatime                         -  sysfs    sysfs                  rw
15  1       0:13   /                 /acct                        rw,relatime                         -  cgroup   none                   rw,cpuacct
16  1       0:14   /                 /mnt/asec                    rw,relatime                         -  tmpfs    tmpfs                  rw,mode=755,gid=1000
17  1       0:15   /                 /mnt/obb                     rw,relatime                         -  tmpfs    tmpfs                  rw,mode=755,gid=1000
18  11      0:16   /                 /dev/cpuctl                  rw,relatime                         -  cgroup   none                   rw,cpu
19  1       31:3   /                 /system                      ro,relatime                         -  yaffs2   /dev/block/mtdblock3   ro
20  1       31:5   /                 /data                        rw,nosuid,nodev,relatime            -  yaffs2   /dev/block/mtdblock5   rw
21  1       31:4   /                 /cache                       rw,nosuid,nodev,relatime            -  yaffs2   /dev/block/mtdblock4   rw
22  21      31:5   /local/download   /cache/download              rw,nosuid,nodev,relatime            -  yaffs2   /dev/block/mtdblock5   rw
23  1       179:2  /                 /sd-ext                      rw,nosuid,nodev,noatime,nodiratime  -  ext4     /dev/block/mmcblk0p2   rw,commit=19,barrier=0,data=writeback
24  20      179:2  /app              /data/app                    rw,nosuid,nodev,noatime,nodiratime  -  ext4     /dev/block/mmcblk0p2   rw,commit=19,barrier=0,data=writeback
25  20      179:2  /data             /data/data                   rw,nosuid,nodev,noatime,nodiratime  -  ext4     /dev/block/mmcblk0p2   rw,commit=19,barrier=0,data=writeback
26  14      0:6    /                 /sys/kernel/debug            rw,relatime                         -  debugfs  /sys/kernel/debug      rw
27  1       179:1  /                 /mnt/sdcard                  rw,nosuid,nodev,noexec,relatime     -  vfat     /dev/block/vold/179:1  rw,dirsync,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro
28  1       179:1  /.android_secure  /mnt/secure/asec             rw,nosuid,nodev,noexec,relatime     -  vfat     /dev/block/vold/179:1  rw,dirsync,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro
29  27      0:17   /                 /mnt/sdcard/.android_secure  ro,relatime                         -  tmpfs    tmpfs                  ro,size=0k,mode=000

答案 1 :(得分:5)

不完全是android apis的一部分,但如果您读取/ proc / mounts

,底层的Linux将告诉您正在使用的那些

作为一个澄清,在以后的Android版本中,Linux能够为每个进程系统提供独特的挂载,因此应用程序进程看到的挂载可以(通常会)与启动时看到的挂载不同来自亚行,或核心系统流程。

答案 2 :(得分:1)

adb shell df -h

示例

  Filesystem      Size  Used Avail   Use%   Mounted on
  tmpfs           3.6G  1.1M  3.6G     1%   /dev
  tmpfs           3.6G     0  3.6G     0%   /mnt

             

答案 3 :(得分:0)

的/ proc / mtd的

或在其他手机上:

的/ proc / EMMC

这将显示所有分区及其名称 - 当前可能安装也可能不安装。

答案 4 :(得分:0)

这与我的三星j5一起工作

  

adb shell df -h