zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    易拓展、易修改的状态流程设计和实现
    消除ifelse/switch语句块来聚合模型的设计与实现
    基于Http协议订阅发布系统设计
    Window mobile 实现CLIST始终选中最新添加数据
    C++ 解压zip利器
    Windows mobile 获取当前路径
    Windows mobile 根据网络地址自动拨号连接GRPS
    Windows mobile设置MFC确认键不退出及OnExit响应退出
    c++使用(Shell32.dll)GetDetailsOf 接口获取文件属性
    C++ 注册表编程
  • 原文地址:https://www.cnblogs.com/senior-engineer/p/13857957.html
Copyright © 2011-2022 走看看