• 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

  • 相关阅读:
    Spring service本类中方法调用另一个方法事务不生效问题(转载)
    JVM垃圾收集器
    LInkedHashMap实现最近被使用(LRU)缓存
    HTML模板与iframe框架
    Mybatis中常用sql语句
    从零到一: 后端接口文档
    Mysql日期处理
    Java-集合框架与数组的实际应用-组装Json字符串
    Mysql查询之 指定顺序排序
    Eclipse中复制项目后,怎么更改项目名等相关配置?
  • 原文地址:https://www.cnblogs.com/senior-engineer/p/13857957.html
Copyright © 2020-2023  润新知