【K19】MTK平台宏控无法直接使用问题

Q:MTK平台工厂版本宏控不生效。指纹导航功能需要在工厂版本关闭,使用到FACTORY_VERSION_MODE宏控。但是不知为何直接在microtrust_config.mk文件中使用时一直不生效。

A:在同级目录的Android.mk中添加:

+# BSP.fingerprint- 2020.11.16 - no nav in factory - start

+ifeq ($(strip $(FACTORY_VERSION_MODE)),true)

+FACTORY_VERSION_MODE := FACTORY

+endif

+# BSP.fingerprint- 2020.11.16 - no nav in factory - end

在microtrust_config.mk文件中使用:

+ifeq ($(FACTORY_VERSION_MODE),FACTORY)

+$(shell cp -f $(MTK_PATH_SOURCE)/trustzone/microtrust/source/common/$(MICROTRUST_TEE_VERSION)/teei/no_nav_**.ta $(TARGET_OUT_VENDOR)/thh/ta/7778c03fc30c4dd0a319ea29643d4d4b.ta)

+else

+$(shell cp -f $(MTK_PATH_SOURCE)/trustzone/microtrust/source/common/$(MICROTRUST_TEE_VERSION)/teei/**.ta $(TARGET_OUT_VENDOR)/thh/ta/7778c03fc30c4dd0a319ea29643d4d4b.ta)

+endif

如此修改后宏控可使用生效,因此入库。至于为什么直接使用不了,不得而知。但是今天发现这种修改有隐患。

FACTORY_VERSION_MODE该宏控不止指纹一个模块使用,这样会导致别的模块判断该宏控的值依旧为TRUE,而我们修改成了factory就会导致别的模块使用异常。

在Android.mk中去重新定义使用的宏:

-FACTORY_VERSION_MODE := FACTORY

+FACTORY_VERSION_MODE_FP := FACTORY

总结:在修改宏控等平台定义的值时,一定要慎重,修改是否影响平台使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章