Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 關於Factory mode test item cannot display的原因

關於Factory mode test item cannot display的原因

編輯:關於Android編程

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目錄下面的
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved