美文网首页
[Mtk][M0] 不让第三方软件检测到不支持的传感器

[Mtk][M0] 不让第三方软件检测到不支持的传感器

作者: 灰灰手记 | 来源:发表于2016-05-25 14:04 被阅读318次

屏蔽传感器可以在软件上做到,但是第三方传感器还是会如实的根据 Framework 信息将被配置的(并不一定是支持的)传感器列出来, ** 从而造成一种支持该传感器,但传感器工作不正常的假象 ** 。

如何彻底屏蔽传感器,让第三方软件不能根据 Framework 信息列出所有被配置过,但并不支持的传感器呢?


下面以光线和近程传感器为例:

修改前,CPU-Z 检测到传感器存在,但读不到具体状态信息,而实际机器是没有配备传感器的。

修改前

修改后,CPU-Z 已经检测不到存在了,目的达到了。

修改后

步骤:

1、打开 \alps\device\xxxx\project_name\device.mk 文件,

2、搜索 proximity.xml,或者 light.xml ,定位到如下脚本:

ifneq ($(strip $(CUSTOM_KERNEL_ALSPS)),)
  PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml
  PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml
else
  ifneq ($(strip $(CUSTOM_KERNEL_PS)),)
    PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml
  endif
  ifneq ($(strip $(CUSTOM_KERNEL_ALS)),)
    PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml
  endif
endif

这段脚本看不懂,只知道是个 if-else,里面有3个宏开关:
CUSTOM_KERNEL_ALSPS,控制光线,近程;
CUSTOM_KERNEL_PS,控制近程;
CUSTOM_KERNEL_ALS,控制光线。
(具体作用可以通过 PRODUCT_COPY_FILES 后面的 xml 文件看出)

3、这里要同时关闭光线和近程传感器,所以确定宏开关 Key = CUSTOM_KERNEL_ALSPS

4、打开 \alps\device\xxxx\project_name\ProjectConfig.mk 文件,

5、搜索上面找到的宏开关,定位如下脚本:
CUSTOM_KERNEL_ALSPS = yes

6、将 yes 修改为 no


编译......

(满心欢喜的等待......)

挂了......

python device/mediatek/build/build/tools/check_kernel_config.py -c device/eastaeon/aeon6580_we_m/ProjectConfig.mk -k kernel-3.18/arch/arm/configs/aeon6580_we_m_defconfig -p aeon6580_we_m
Kconfig Setting: y
ProjectConfig Setting: no
*** Boolean ERROR ***: CONFIG_CUSTOM_KERNEL_ALSPS not sync with CUSTOM_KERNEL_ALSPS in ProjectConfig.mk

7、编译报错,好在明确说明了是 CONFIG_CUSTOM_KERNEL_ALSPS 的值与 CUSTOM_KERNEL_ALSPS 的值不同步。

8、全局搜索 CONFIG_CUSTOM_KERNEL_ALSPS 字段,找到并打开文件:
\alps\kernel-3.18\arch\arm\configs\project_name_defconfig
\alps\kernel-3.18\arch\arm\configs\project_name_debug_defconfig

9、定位到并注释掉上面两个文件里面的 CONFIG_CUSTOM_KERNEL_ALSPS=y

10、再次编译验证,OK。

相关文章

网友评论

      本文标题:[Mtk][M0] 不让第三方软件检测到不支持的传感器

      本文链接:https://www.haomeiwen.com/subject/dahtdttx.html