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
總結:在修改宏控等平臺定義的值時,一定要慎重,修改是否影響平臺使用。