Factory mode test item cannot display
如果factory mode的測項不能正常顯示,請首先參考檢查以下原因:
原因一:factory.c的ftm_test_item[]中未定義該測項 請務必確定alps/mediatek/factory/src/factory.c中ftm_test_item[]數組中定義了該測項。 static item_t ftm_test[] = { #ifdef FEATURE_FTM_KEYS item(ITEM_KEYS, uistr_keys), #endif #ifdef FEATURE_FTM_JOGBALL item(ITEM_JOGBALL, uistr_jogball), #endif #ifdef FEATURE_FTM_OFN; item(ITEM_OFN, uistr_ofn), #endif #ifdef FEATURE_FTM_TOUCH item(ITEM_TOUCH, uistr_touch), #endif
原因二:未進行宏定義 確認定義該測項時,其對應的宏是否有定義 在alps/mediatek/factory/src/factory.c的ftm_test_items[]中,查看包裹該測項的宏。 #ifdef MTK_WLAN_SUPPORT #ifdef FEATURE_FTM_WIFI item(ITEM_WIFI, "Wi-Fi"), #endif #endif 在alps/mediatek/custom/[project]/factoryinc/cust.h中查看FEATURE_FTM_WIFI的定義 #if defined (MTK_WLAN_SUPPORT) #define FEATURE_FTM_WIFI #endif 關於MTK_WLAN_SUPPORT的定義需要在alps/mediatek/config/[project]/ProjectConfig.mk中查看 注意:請查看ProjectConfig.mk檔案中是否有AUTO_ADD_GLOBAL_DEFINE_BY_NAME和AUTO_ADD_GLOBAL_DEFINE_BY_VALUE的定義,請確定該測項需要的宏定義,已經按NAME或者VALUE添加在以上兩個定義之一中。 還需要注意宏定義一定要確保能被編譯到 #define FEATURE_DUMMY_AUDIO #ifndef FEATURE_DUMMY_AUDIO #define FEATURE_FTM_AUDIO #define FEATURE_FTM_FM #define FEATURE_FTM_FMTX #ifdef HAVE_MATV_FEATURE #define FEATURE_FTM_MATV #endif #endif 如上所示,即使定義了#define FEATURE_FTM_FM,但是從前面#ifndef語句來看,該定義永遠不會被編譯到。
原因三:factory.ini裡面沒有改測項 有時修改了factory.ini後,build factory模組,然後將factory模組push到手機裡面。 這個時候請注意,如果測項無法正常顯示,請務必檢查手機端的factory.ini是否已經包含該測項。 檢查方法如下: 手機進入normal mode或者factory mode,並串連到電腦上 開啟命令列,輸入adb shell命令 進入手機目錄後,輸入cd etc命令,進入etc目錄下 輸入cat factory.ini命令,查看手機中factory.ini是否包含該測項
原因四:字串定義不一致 為了能夠正常顯示測項,需要確保測項字串在ftm_test_item[]與factory.ini一致。factory.cstatic item_t ftm_test_items[] = {#ifdef FEATURE_FTM_KEYS item(ITEM_KEYS, uistr_keys),#endif#ifdef FEATURE_FTM_JOGBALL item(ITEM_JOGBALL, uistr_jogball),#endif alps/mediatek/factory/inc/uistrings_chn.h#define uistr_keys "按鍵"#define uistr_jogball "軌跡球" factory.chn.iniMenuItem=按鍵;MenuItem=軌跡球;
原因五:factory.ini中語言與factory mode一致 factory mode是中文版本,則確保factory.ini中的字串也是中文版本;反之亦然 如果想象是只顯示Wi-Fi,BT等中英版本中均使用英文的測項,一定首先檢查factory mode與factory.ini的語言版本是否相同。 注意,此處查看的factory.ini是指手機端etc目錄下面的