Android APK隐藏问题 package-restrictions.xml

来源:互联网 发布:ubuntu 14.04硬盘分区 编辑:程序博客网 时间:2024/04/29 04:56

问题描述:工厂生产过程中,烧录好镜像,不接camera第一次开机再关机后,装上摄像头再次开机进入系统,发现桌面没有相机这个apk,无法进行摄像头的检测。重新烧录系统后,ok。

对于工厂的人只能&*(……&%&¥……

问题分析:既然重新烧录系统后没问题,那应该就是保存了相关用户信息,导致的。

步骤一:重新烧录镜像,不安装摄像头开机,进入系统,桌面无相机apk。

步骤二:恢复出厂设置,关机,安装射系统,开机,桌面出现相机apk。

问题原因:第一次开机,android会对camera硬件进行检测,如果没有发现camera则不在桌面生成相机apk,具体是没安装还是干啥还不能确定,继续分析;

从/system/app下可以看到存在相机这个apk,那到底是到哪里去了呢...

userdata分区是挂载到/data下面,索性把data分区通过adb pull出来,然后下文件变化。

/data/system/users/0/package-restrictions.xml中发现其中猫腻(左边为相机apk被隐藏的文件)


<disabled-componets>项把相机apk给隐藏掉了,不在桌面上生成,但是已经安装到系统里了。终于找到了问题原因了,尼玛,不容易啊,对于一个驱动工程师来说。

复现开机无相机apk现象,然后连接adb,干掉/data/system/users/0/package-restrictions.xml文件,重新开机,发现相机apk出现了。


接下来是找到哪里对package-restrictions.xml这个文件进行操作了。

最后是在frameworks\base\services\java\com\android\server\pm\Settings.java中的writePackageRestrictionsLPr函数中定位到了

通过加一条if语句,在<disabled-componets>选项里过滤掉camera的操作。



0 0
原创粉丝点击