美文网首页
[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