我试图找到哪个分区是用来做什么,例如/boot
,/recovery
,/system
,从adb shell
.虽然这是微不足道的当前安装的分区(使用mount
或df
命令,例如参见如何识别分区的名称),当它涉及到当前未安装的分区,这似乎是棘手的(如/recovery
当在"用户模式"启动).
cat /proc/mtd
:这是空的或不存在的cat /proc/emmc
:这是空的或不存在的cat /proc/dumchar_info
:不存在(MTK/MediaTek)ls -al /dev/block/platform/*/by-name
:要么不存在,要么没有想要的细节parted
只是产生一个Error: Can't have a partition outside the disk!
上/dev/block/mmcblk1
(而只是缺少的"姓名"一栏/dev/block/mmcblk0
).所以我很茫然.我知道像DiskInfo这样的应用程序可以显示这些细节,因此必须存储在设备的某个位置.但是,在我的情况下,修改设备(通过安装应用程序)不是一个选项.
所以基本上我的问题归结为:
Android设备上的这些信息存储在哪里?
如果可能,优选通用方法.如果没有,几个方法(if..elseif..fi
)的"尝试和错误" 也会这样做.
对于背景:一个示例用法是"我只想检索/boot
分区"(通过它获取它的图像dd
).首先抓取所有分区并稍后进行评估是不行的 - 太耗费时间,产生的数据太多;) - 这已经描述了这个意图:编写一个小工具来检索特定的磁盘映像.
我的应用程序(S Educate)要求我获取DeviceId(用于Analytics/Recommendations),因此我添加了权限,READ_PHONE_STATE
虽然文档是无害的,但当用户安装时,应用程序权限窗口显示"电话呼叫 - 监控,记录,并处理电话"显然阻止用户安装,用户已经通知他们没有因为这个权限而安装.
以下是我的选择:
请告知我如何解决此权限问题.