小编Izz*_*zzy的帖子

如何从shell中识别Android设备的分区?

我试图找到哪个分区是用来做什么,例如/boot,/recovery,/system,从adb shell.虽然这是微不足道的当前安装的分区(使用mountdf命令,例如参见如何识别分区的名称),当它涉及到当前未安装的分区,这似乎是棘手的(如/recovery当在"用户模式"启动).

XDA上有一个教程,但它对我试过的任何设备都没有用:

  • 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).首先抓取所有分区并稍后进行评估是不行的 - 太耗费时间,产生的数据太多;) - 这已经描述了这个意图:编写一个小工具来检索特定的磁盘映像.

shell android partition

19
推荐指数
1
解决办法
5万
查看次数

DeviceId和应用程序权限

我的应用程序(S Educate)要求我获取DeviceId(用于Analytics/Recommendations),因此我添加了权限,READ_PHONE_STATE虽然文档是无害的,但当用户安装时,应用程序权限窗口显示"电话呼叫 - 监控,记录,并处理电话"显然阻止用户安装,用户已经通知他们没有因为这个权限而安装.

截图
截图(点击查看大图)

以下是我的选择:

  1. 我在我的应用说明中明确指出,我需要此权限才能获取DeviceId,而不是监控/录制电话,并希望用户相信我并安装应用
  2. 我找到另一种获取DeviceId的方法 - 据我所知,如果不使用上述权限,则无法使用

请告知我如何解决此权限问题.

android android-permissions

4
推荐指数
1
解决办法
8343
查看次数

标签 统计

android ×2

android-permissions ×1

partition ×1

shell ×1