0
点赞
收藏
分享

微信扫一扫

关于Factory mode test item cannot display的原因


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[]中,查看包裹该测项的宏。


MTK_WLAN_SUPPORT


FEATURE_FTM_WIFI


           item(ITEM_WIFI,      "Wi-Fi"),


      #endif


      #endif


   


      在alps/mediatek/custom/[project]/factoryinc/cust.h中查看FEATURE_FTM_WIFI的定义


(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.c



static 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_jogball "轨迹球"











factory.chn.ini



MenuItem=按键;



MenuItem=轨迹球;


原因五:factory.ini中语言与factory mode一致


     factory mode是中文版本,则确保factory.ini中的字符串也是中文版本;反之亦然


     如果想象是只显示Wi-Fi,BT等中英版本中均使用英文的测项,一定首先检查factory mode与factory.ini的语言版本是否相同。


     注意,此处查看的factory.ini是指手机端etc目录下面的

举报

相关推荐

0 条评论