一.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就可看效果。

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

1174

被折叠的 条评论
为什么被折叠?



