MTK 11A 集成第三方应用的方法

本文详细介绍了在MTK 11A平台上集成第三方应用Polaris Office的步骤,包括修改编译命令、添加源码、更新配置文件、资源绑定以及字符串和图片资源的添加。通过这些步骤,可以将Polaris Office整合到设备的文件管理系统中,支持多种文档类型的查看和操作。
 

一.MTK 常用的编译命令:

修改某个.c文件时: make  终端名字 remake (ex:make SKYWORTHWS36_INTERNET_11A gprs remake)

修改资源后,重新生成资源: make SKYWORTHWS36_INTERNET_11A gprs resgen.

重新生成所有.o时 make SKYWORTHWS36_INTERNET_11A gprs new.

重新生成modis:

make SKYWORTHWS36_INTERNET_11A gprs codegen

make SKYWORTHWS36_INTERNET_11A gprs  gen_modis

 

 

二:以添加viewer模块为例:

 

1.       把office的源码包复制到你的MTK软件系统根目录下,以让office的源码都在TTS目录中 。

 

2.       在../make文件夹下,新建office的文件夹,在office目录下添加office.mak 文件(11A之前环境要添加4个新文件,分别是office.def、office.inc、office.lis、office.pth。office.def)

office.mak中内容如下:

# Define source file lists to SRC_LIST

SRC_LIST = hvendor\office\polarisoffice\adaptation\src\PolarisOfficeSrc.c \

vendor\office\polarisoffice\adaptation\src\PolarisOfficeRec.c \

vendor\office\polarisoffice\adaptation\src\PolarisOfficePorting.c

 

#  Define include path lists to INC_DIR

INC_DIR = vendor\office\polarisoffice\adaptation\inc \

                                                                        plutommi\mmi\setting\settinginc \

                                                                        plutommi\mtkapp\connectivity\connectivityinc \

                                                                        plutommi\mtkapp\camera\camerainc \

                                                                        plutommi\service\inc \

                                                                        plutommi\Framework\GUI\gui_inc \

                                                                        plutommi\mmi\ssc\sscinc \

                                                                        plutommi\mmi\inc \

                                                                        plutommi\Framework\CommonScreens\commonscreensinc \

                                                                        plutommi\mmi\profiles\profilesinc \

                                                                        plutommi\mmi\datetime\datetimesrc \

                                                                        applib\misc\include \

                                                                        plutommi\Framework\CommonFiles\commoninc \

                                                                        custom\common \

                                                                        plutommi\mmi\phonebook\phonebookinc \

                                                                        mtp\include \

                                                                        plutommi\mmi\gpio\gpioinc \

                                                                        plutommi\mtkapp\filemgr\filemgrinc \

                                                                        plutommi\framework\gui\gui_inc

# Define the specified compile options to COMP_DEFS

COMP_DEFS = __MMI_POLARIS_OFFICE__

 

# Define the source file search paths to SRC_PATH

SRC_PATH = vendor\office\polarisoffice\adaptation\src

3.       在../make/option.mak 中加上如下语句

 

#########################################################

# Polaris Office

#########################################################

POLARIS_OFFICE_ENABLE = TRUE

ifeq ($(strip $(POLARIS_OFFICE_ENABLE)),TRUE)

               CUS_POLARIS_OFFICE_BASE = vendor\office\polarisoffice

               COMPLIST                            += office

               COM_DEFS                           += __MMI_POLARIS_OFFICE__

               CUSTOM_COMMINC                        += $(strip $(CUS_POLARIS_OFFICE_BASE))\adaptation\inc

               CUS_REL_SRC_COMP       += office

               COMPOBJS                           += $(strip $(CUS_POLARIS_OFFICE_BASE))\v1_official\BMV.lib

               CUS_REL_OBJ_LIST           += $(strip $(CUS_POLARIS_OFFICE_BASE))\v1_official\BMV.lib

Endif

 

4.       在文件系统中添加viewer应用的入口:

在..\plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI 目录下创建一个Res_PolarisOffice.c文件,里面是res 加载的方法:PopulatePolarisOfficeRes; 在此方法中,添加viewer应用资源加载的操作,如下:

 

  1) 在file manager 的option中添加打开view应用的入口,在此方法内也可添加字符串和图片加载的内容。

               ADD_FMGR_MENUITEM((MENU_ID_FMGR_OFFICE_TYPE_OPTIONS,0,

                                MENU_ID_FMGR_OFFICE_OPTION_OPEN,

                                FMGR_GENERAL_OPTION

                                MENU_ITEM_END,

                                SHOW, NONMOVEABLE, DISP_LIST, STR_GLOBAL_OPTIONS,0));

 

                ADD_APPLICATION_MENUITEM2((MENU_ID_FMGR_OFFICE_NFO_TYPE_OPTIONS,0,

                                MENU_ID_FMGR_OFFICE_OPTION_OPEN,

                                MENU_ID_FMGR_GEN_OPTION_DETAIL,

                                MENU_ITEM_END,

                                SHOW, NONMOVEABLE, DISP_LIST, STR_GLOBAL_OPTIONS,0));

 

       ADD_APPLICATION_MENUITEM((MENU_ID_FMGR_OFFICE_OPTION_OPEN,        0, 0, SHOW, NONMOVEABLE, DISP_LIST, STR_OFFICE_OPEN,0));

 

 

ADD_APPLICATION_MENUITEM_HILITE_HANDLER(MENU_ID_FMGR_OFFICE_OPTION_OPEN,               mmi_fmgr_polaris_office_open);  //             mmi_fmgr_polaris_office_open是启动应用的API.

 

2) 在FileMgrServiceMenuItems.h中添加viewer相关的menu id:

 

/* __MMI_POLARIS_OFFICE__ */

MENU_ID_FMGR_OFFICE_TYPE_OPTIONS,

MENU_ID_FMGR_OFFICE_NFO_TYPE_OPTIONS,

MENU_ID_FMGR_OFFICE_OPTION_OPEN,

 

3) viewer应用资源绑定到环境中, 在..\plutommi\mmi\Resource PopulatePolarisOfficeRes.c中,添加如下:

/* __MMI_POLARIS_OFFICE__ */

#ifdef __MMI_POLARIS_OFFICE__

extern void PopulatePolarisOfficeRes(void);

#endif

                                …

                                …

                 /* __MMI_POLARIS_OFFICE__*/

#ifdef __MMI_POLARIS_OFFICE__

    RES_PRINT_INFO("Populating PolarisOffice Resources\n");

PopulatePolarisOfficeRes();

#endif

 

4) 在文件系统中注册viewer应用可支持的type类型,修改.. \plutommi\Service\FileMgrSrv\FileMgrSrvRes\下的FileType.res文件, 添加如下内容:

#ifdef __MMI_POLARIS_OFFICE__

   <FILE_TYPE_INC file="PolarisOfficeResDef.h"/>

        <FILE_TYPE type_id="FMGR_TYPE_OFFICE_DOC" extension="DOC" small_icon="IMG_OFFICE_MENU_MAIN_DOC" large_icon="IMG_OFFICE_MAIN_MENU_XLS" option="MENU_ID_FMGR_OFFICE_TYPE_OPTIONS"/>

        <FILE_TYPE type_id="FMGR_TYPE_OFFICE_DOCX" extension="DOCX" small_icon="IMG_OFFICE_MAIN_MENU_DOCX" large_icon="IMG_OFFICE_MAIN_MENU_DOCX" option="MENU_ID_FMGR_OFFICE_TYPE_OPTIONS"/>

        <FILE_TYPE type_id="FMGR_TYPE_OFFICE_XLS" extension="XLS" small_icon="IMG_OFFICE_MAIN_MENU_XLS" large_icon="IMG_OFFICE_MAIN_MENU_XLS" option="MENU_ID_FMGR_OFFICE_TYPE_OPTIONS"/>

        <FILE_TYPE type_id="FMGR_TYPE_OFFICE_XLSX" extension="XLSX" small_icon="IMG_OFFICE_MAIN_MENU_XLSX" large_icon="IMG_OFFICE_MAIN_MENU_XLSX" option="MENU_ID_FMGR_OFFICE_TYPE_OPTIONS"/>

        <FILE_TYPE type_id="FMGR_TYPE_OFFICE_PPT" extension="PPT" small_icon="IMG_OFFICE_MAIN_MENU_PPT" large_icon="IMG_OFFICE_MAIN_MENU_PPT" option="MENU_ID_FMGR_OFFICE_TYPE_OPTIONS"/>

        <FILE_TYPE type_id="FMGR_TYPE_OFFICE_PPTX" extension="PPTX" small_icon="IMG_OFFICE_MAIN_MENU_PPTX" large_icon="IMG_OFFICE_MAIN_MENU_PPTX" option="MENU_ID_FMGR_OFFICE_TYPE_OPTIONS"/>

        <FILE_TYPE type_id="FMGR_TYPE_OFFICE_PDF" extension="PDF" small_icon="IMG_OFFICE_MAIN_MENU_PDF" large_icon="IMG_OFFICE_MAIN_MENU_PDF" option="MENU_ID_FMGR_OFFICE_TYPE_OPTIONS"/>

   

 

    #endif

添加后进行resgen,会在FileTypes.c,Mmi_rp_file_type_def.h以及Mmi_rp_file_type_table.c文件中生成对应的代码。

 

 

5.       添加字符串的方法:

1)在mmi_res_range_def.h中添加viewer应该的res范围:

    RESOURCE_BASE_RANGE(SRV_CNMGR, 10),

               /*__MMI_POLARIS_OFFICE__*/

                          RESOURCE_BASE_RANGE(APP_OFFICE, 200),

       ….

                          ….

/* __MMI_POLARIS_OFFICE__*/

#define APP_OFFICE_BASE                                                 ((U16) GET_RESOURCE_BASE(APP_OFFICE))

#define APP_OFFICE_BASE_MAX                                      ((U16) GET_RESOURCE_MAX(APP_OFFICE))

RESOURCE_BASE_TABLE_ITEM_PATH(APP_OFFICE, "..\\vendor\\office\\polarisoffice\\res\\")

 

 

2) 在PolarisOfficeDefs.h 添加

 

typedef enum

{

               STR_OFFICE = APP_OFFICE_BASE + 1,

               STR_OFFICE_OPEN,

               STR_OFFICE_FIRST_PAGE,

                        …

                        …

3) 在Res_PolarisOffice.c文件中的PopulatePolarisOfficeRes方法中加载相关的字符串资源:

 ADD_APPLICATION_STRING2(STR_OFFICE_OPEN,                                                                                                "Open Doc", "Open Doc");

…..

 4) 重新生成resource, 即: 运行resgen后remake就可看效果。

 

6.       添加图片资源的方法:

1) 在PolarisOfficeDefs.h 添加

typedef enum

{

    IMG_OFFICE_MAIN_MENU_ICON = APP_OFFICE_BASE + 1,

                           IMG_OFFICE_MENU_MAIN_DOC,                            

                                                …

2) 在Res_PolarisOffice.c文件中的PopulatePolarisOfficeRes方法中加载相关的字符串资源:

 ADD_APPLICATION_IMAGE2(IMG_OFFICE_MENU_MAIN_DOC, "..\\\\..\\\\Customer\\\\Images\\\\PLUTO320X240\\\\MainLCD\\\\FileManager\\\\FM_OFFICE_DOC.GIF", "Generated by Resgen_XML");

…..

3) 把要加载的图片拷贝到plutommi\Customer\Images\PLUTO320X240\MainLCD\FileManager\下:

4)把MainLCD重新压缩成zip文件,替换之前存在的文件。 (系统在new时会找此压缩包中的图片资源)

 4) 重新生成resource, 即: 运行resgen后remake就可看效果。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值