Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取android设备的所有装载点信息?_Android - Fatal编程技术网

如何获取android设备的所有装载点信息?

如何获取android设备的所有装载点信息?,android,Android,如何以编程方式获取Android设备的所有挂载点信息?不完全是Android API的一部分,但如果您阅读/proc/mounts,底层linux将告诉您正在使用的挂载点信息 作为澄清,在以后的Android版本中,Linux能够为每个进程祖先提供唯一的装载,因此应用程序进程看到的装载可能(通常会)不同于从ADB或核心系统进程启动的装载。/proc/mtd 或在其他手机上: /程序/emmc 这将显示所有分区及其名称-当前可能已装入,也可能未装入。您可以通过检查/proc/partitions查

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

不完全是Android API的一部分,但如果您阅读/proc/mounts,底层linux将告诉您正在使用的挂载点信息

作为澄清,在以后的Android版本中,Linux能够为每个进程祖先提供唯一的装载,因此应用程序进程看到的装载可能(通常会)不同于从ADB或核心系统进程启动的装载。

/proc/mtd

或在其他手机上:

/程序/emmc


这将显示所有分区及其名称-当前可能已装入,也可能未装入。

您可以通过检查
/proc/partitions
查看系统已知的分区。根据我的HTC愿望:

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愿望中(为了更好的衡量,我添加了列标题并通过
column-s
运行输出):


这与我的三星j5一起工作

亚行壳牌df-h


adb壳牌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

             

如何理解从/proc/mounts获得的这些值-->rootfs/rootfs ro,relatime 0 0 tmpfs/dev tmpfs rw,relatime,mode=755 0 devpts/dev/pts devpts devpts rw,relatime,mode=600 0 proc/proc proc rw,relatime 0 sysfs/sysfs rw,relatime 0 0。阅读内核源代码或从已知的实体中找出它:看起来是{device,mountpoint,type,options,etc.}但是不能保证在某个时候不会改变。谢谢你,克里斯。你会知道这个问题的答案吗:“mtdblock设备是手机的内部闪存。mmcblk0是手机的SD卡。”。这似乎不是一个有效的假设。在我的平板电脑上(Dell 7)它既有内存又有SD卡,只有mcc*分区。是的,这只是一个解释性的观察。假设不同设备上会出现这种情况是无效的。
  Filesystem      Size  Used Avail   Use%   Mounted on
  tmpfs           3.6G  1.1M  3.6G     1%   /dev
  tmpfs           3.6G     0  3.6G     0%   /mnt