天天看點

TD編譯環境變量說明

一,編譯不同界面UI

  1)make menuconfig 配置不同UI;

  2)在8368U.TD/application/reference_td/tdLauncher/view/Makefile中會編譯不同UI

ifeq ($(CONFIG_GLB_GMNCFG_ENABLE_800_480_UI),y)
TD_RESOURCE_DIR := $(RESOURCE_DIR)/resources800
endif

ifeq ($(CONFIG_GLB_GMNCFG_ENABLE_1024_600_UI),y)
TD_RESOURCE_DIR := $(RESOURCE_DIR)/resources1024
endif

ifeq ($(CONFIG_GLB_GMNCFG_ENABLE_1280_720_UI),y)
TD_RESOURCE_DIR := $(RESOURCE_DIR)/resources1280
endif      

二,ULOGD輸出流程

8368U.TD/application/reference_td/solingtdLauncher/middleware/framework/include/utils/clog.h

#ifdef AP_DBG

#ifdef ENABLE_APP_DEBUG
#define AP_DBG
      

8368U.TD/application/reference_ui/build_qtap.sh

if [ "$CONFIG_GLB_GMNCFG_APP_LOG_DEBUG_ENABLE" == "y"  ]; then
  echo 'ENABLE_APP_DEBUG'
  SDKQT_CONFIG="$SDKQT_CONFIG CONFIG+=ENABLE_APP_DEBUG"
else
  echo 'DISABLE_APP_DEBUG'      

 8368U.TD/application/reference_ui/Makefile

#export CONFIG_GLB_GMNCFG_APP_LOG_DEBUG_ENABLE      

三,TD工具顯示UI的配置

[style]
"./resources1024/style/style_media.rc"
......
[layout]
#"layout_smartphone.ini"
#"layout_clnormal.ini"

"./resources1024/etc/media/layout_audio.ini"

[list_layout]
"./bt/btlist_layout.ini"
"./homeview/home_usblist_layout.ini"      

四,在solingtdLauncher工程下面添加資源和cpp檔案的流程

(以添加gotokeyboard來說明)

  1,将資源檔案拷貝到對應檔案下(8368U.TD/application/reference_td/solingtdLauncher/view/resources/resources1024/style/common/GOTO)

  2,将要加載的對應資源寫到rc檔案中,然後在ini檔案中可以直接調用該資源(将gotokeyboard要用到的資源寫到style_common.rc中,然後在layout_keyboard.ini中就可以使用該資源)

  8368U.TD/application/reference_td/solingtdLauncher/view/resources/resources1024/style/style_common.rc

button.gotokeyboard_btn_0_bg {
[na]
    bg="./common/GOTO/goto_keyboard_0_n.png",stretch_hv3
[s]
    bg="./common/GOTO/goto_keyboard_0_p.png"
[d]
    bg="./common/GOTO/goto_keyboard_0_d.png"
}

......      

8368U.TD/application/reference_td/solingtdLauncher/view/resources/resources1024/etc/media/layout_keyboard.ini

gotokeyboard_0_btn={
      type="button"
      x=155
      y=293
      w=130
      h=60
      style="gotokeyboard_btn_0_bg"
    }
......      

  3,在config.ini中添加該資源

    8368U.TD/application/reference_td/solingtdLauncher/view/resources/config.ini

theme_media={
"../style/style_topbar.rc"
"../style/style_volumebar.rc"
"../style/style_select.rc"
"../style/style_dialog.rc"
"../style/style_media.rc"
"../style/style_common.rc"
}      

4,在代碼中加載該資源

void GotoKeyboard::initView()
{
    TwStyleSwitchTheme("theme_media");

    TwLayoutParseFile(getRootTWiget(), TGetExecutePath("../etc/media/layout_keyboard.ini"));      

5,在Makefile中添加gotokeyboard.cpp檔案

  8368U.TD/application/reference_td/solingtdLauncher/view/activitys/media/Makefile

LIBLDFLAGS +=    -L$(TOP)/middleware/apis/dispctrl -ldispctrlmod
LIBSRCS := mediaview/mediaview.cpp mediaview/usbactivity.cpp mediaview/usbview.cpp mediaview/smediaplaylist.cpp mediaview/gotokeyboard.cpp      

五,用vscode生成的HelloWorld程式,是C語言工程,需要支援CPP。

需要在Makefile檔案中加入

......
CPPFLAGS := -std=c++11
......
LIBSRCS := src/gotokeyboard.cpp      

六,将home設定為預設開機啟動項的流程

1,檢視 application/reference_td/solingtdLauncher/def_config.mk

ACTIVITY_INSTALL = \
        mkdir -p $(TOP)/lib/activity; \
        mkdir -p $(ACTIVITY_DESTDIR); \
        mv  $(TOP)/lib/$(LIBNAME).so $(TOP)/lib/activity; \
        cp -avrf $(TOP)/lib/activity/$(LIBNAME).so $(ACTIVITY_DESTDIR);


ACTIVITY_DEF_INSTALL = \
        mkdir -p $(TOP)/lib/activity/default; \
        mkdir -p $(ACTIVITY_DESTDIR)/default; \
        mv  $(TOP)/lib/$(LIBNAME).so $(TOP)/lib/activity/default; \
        cp -avrf $(TOP)/lib/activity/default/$(LIBNAME).so $(ACTIVITY_DESTDIR)/default;


ACTIVITY_DIRECT_INSTALL = \
        mkdir -p $(TOP)/lib/activity/directstage; \
        mkdir -p $(ACTIVITY_DESTDIR)/directstage; \
        mv  $(TOP)/lib/$(LIBNAME).so $(TOP)/lib/activity/directstage; \
        cp -avrf $(TOP)/lib/activity/directstage/$(LIBNAME).so $(ACTIVITY_DESTDIR)/directstage;      

2,檢視homeiew目錄的Makefile檔案,發現執行ACTIVITY_DEF_INSTALL這條指令,将libhomeactivity.so檔案拷貝到default目錄下。

all: $(LIBNAME)
    make install

clean:
    +$(ACIVITY_CLEAN)

install:
    +$(ACTIVITY_DEF_INSTALL)      

3,将Activity屬性設定為LauncherActivity

HomeActivity::HomeActivity(SelfQueue* queue):BaseObject(queue)
{
    list<string> mIconPath;
    mQueue = queue;
    spCbk.reset(new HomeLauncherEventCbk(mQueue));
    mProperty.reset(new HomeProperty(\
                                     ACTIVITY_NAME,
                                     LauncherActvity,//SourceActivity,//NormalActivity,
                                     spCbk,
                                     mIconPath,
                                     NormalPriority,
                                     AnmNormal,
                                     0));      

 七,androidauto配置檔案路徑

application/reference_td/pubtdLauncher/view/resources/resources1024/etc/smartphoneconfig/Androidauto/androidauto_config_1024_600_UI.xml