關於Factory mode test item cannot display的原因

來源:互聯網
上載者:User

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.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_keys                "按鍵"
#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目錄下面的

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.