如何以编程方式获取Android设备的所有挂载点信息?
答案 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