如何联编?
1) 支持 编译模拟器
2)EMMI版本都支持 make release_ibuild
3)每台联网的机器包括服务器都要另外安装IncrediBuild_Target.exe;
4)要安装3.5以上版本的incredibuild,并且安装盘要是NTFS格式的;
5) 2.01.18和2.02.33版本以上才支持cygwin下的分布式编译,编译命令为make release_ibuild.
6) IncrediBuild_Target.exe 这个工具在网上搜搜有的。
7) 可以不安装IncrediBuild_Target.exe也是可以的。
如果不安装IncrediBuild_Target.exe就要修改每台机器的C:\\ARM\\Licenses\\license.dat文件,把所有的HOSTID=XXXXXXXXX 改成:HOSTID="ANY" TS_OK
合理地使用Target命令,能够减少编译的时间和提高解决问题的速度。现在对Target的常用命令做个总结,希望对大家以及后来的新人有帮助。
make release_ibuild:利用increbuild做分布式编译,要搭服务器;
make release_ibuild XRG=1:这个命令可以直接跳过资源的编译过程,不编译资源;
make release_speed XRG=1:上同;
make release_speed_cus0:编译整个工程,但只编译第一个资源包;
make mmi_cus: 编译资源;
make clean_mmi_cus: clean 资源;
make mmi_cus0:只编译第一个资源包;
make mmi_cus;make e2p:结合这两个命令,可以直接运行模拟器;
make clean_lib TARGET=: 只清除lib name 的library,例如make clean_lib TARGET=3rd;
sh ./mg.sh xxx: 使用这个命令可以单独编译某个模块,例如:如果发现我们更改的文件在3rd目录里,我们就可以使用sh ./mg.sh 3rd;
make release_mmi_app:如果只改了app目录下的文件,就可以使用这个命令来编译;类似的还有make release_mmi_drv;make release_mmi_srv;make release_mmi_3rd等等;
make help:如果不知道使用什么命令,可以使用这个命令求助,也可以在工程目录下…\\proj\\makefile文件中找到所有的命令。
直接把CygwinPortable.exe解压缩到C盘根目录即可,不需要单独安装rvct和cygwin;
运行C盘根目录的cygwin.bat,切换目录至proj下,新工程config使用./tng/configure.pl命令;
新编译使用make release_speed或者make release_build命令,一般使用前者,编译速度会快一些;
不能直接使用make命令编译,这样会出现cannot find source of "arm_copro_s"的错误;
如果只是修改虚拟机的部分,使用make release_3rd命令,这样只编译3rd部分,速度较快;
如果修改了mmi部分,使用make release_mmi命令;
根据修改的mmi里面的模块部分,也可以选择下面的编译命令:
make release_mmi_app;make release_mmi_core;release_mmi_mae等。
mstar编译较慢,尽量选择模块化编译,直接make release_speed会比较慢,
只在修改了make文件中的选项时才需要make release_speed
生成dz文件的命令:make dz_normal或make dz_redownload
Make mmi_cus:编译资源;make release_mmi_srv:编译mmi_srv
可以多条make命令一起使用,中间用分号区别,比如make release_mmi_app;make release_mmi_srv;make release_3rd
编译MSTAR模拟器:
./tng/configure.pl
make clean
make e2p;make mmi_cus
编译MSTAR手机BIN:
./tng/configure.pl
make clean
make release_speed
Cygwin安装好后,启动它,默认会进入Cygwin的虚拟目录; 比如,MSTAR用懒人安装包CygwinPortable.exe,默认安装到C盘根目录后,只要在C:\CygwinPortable\home\.bashrc文件后, |
MSTAR编译时,不想编译资源,可以在编译命令后面,加“XRG=1”,比如:make speed XRG=1 如果想只编译某个文件夹,可以用命令“sh ./mg.sh + 模块”,比如:sh ./mg.sh 3rd |
按模块编译的命令,都定义在Final_product.mak中,比如: 把下载文件打包命令: |
模拟器工程文件:proj\MStarStudio_UP\MStarDeveloper\XMMI\MMI_BuildAll_cus.sln |
XRG是MSTAR编译资源的工具。 BuildAll是Clean所有CUS后,重新编译。挺耗时的,但能确保所有修改都编进CUS文件里。 Build不Clean,直接根据有无新的修改,进行编译,比BuildAll耗时要少得多; |
MSTAR的资源(文本String,图片Image,声音Melody,排版RS;PLMN,字体Font,输入法IME,手写Handwriting等)都是用XRG统一管理的。
很多资源(文本String,图片Image,声音Melody,排版RS等)都是按应用Applet组织的;
而有些资源(PLMN,字体Font,输入法IME,手写Handwriting等)是系统的。
打开Open一个工程Solution后,鼠标右键单击Solution,弹出菜单里有个“Export Excel(*.xls)...”和“Import Excel(*.xls)...”。
前者将整个项目的文本String资源,导出到一个Xls文件中,修改后,可以用后者导入。这种功能,某些时候很有用。
Model的继承关系
IModel
--IDataModel
--IIMEAssistModel
--IInterfaceModel
--ISoftkeyModel
--ITextModel
--IListModel
----IArrayModel
----IVectorModel
------IMenuModel
Widget的继承关系
WidgetBaseEx_t
--ContainerBase_t
----AbsContainerBase_t
------GadgetContainer_t
------_Softkeyboard_HighlightWdg_t
------AliveWidget_t
------AnimationContainer_t
------DesktopWdg_t(DECLARE_BASECLASS_DESKTOPWIDGET)
--------AclockDesktopWdg_t
--------BasicDesktopWdg_t
--------CalendarDesktopWdg_t
--------DclockDesktopWdg_t
--------FmDesktopWdg_t
--------InfoDesktopWdg_t
--------MpDesktopWdg_t
--------NoteDesktopWdg_t
--------OpDesktopWdg_t
--------PedometerWdg_t
--------PetDesktopWdg_t
--------ProfileWdg_t
--------SearchDesktopWdg_t
------DoubleItemWidget_t
------_EventWidget_t
------_FCDateWidget_t
------_FCTimeWidget_t
------_MAE_GlowTextWidget
------IFoneWidget_t
------_MAE_OptionMenuWidget
------_MAE_PopupSelectWidget
------RootContainer_t
------_ShortcutBarWidget_t
------_MAE_SlideSwitchWidget
------_MAE_StatusBarWidget
------WdgVolume_t
----PropContainerBase_t(PropContainer_t)
------CommonPickItem_t
------WdgImageDoubleItem_t
------_ImageTextImageWdg_t
------InputCandidateWidget_t
------PropCircleContainer_t
------_MAE_SoftKeyboardWidget
------_MAE_SoftkeyWidget_t
----MFLContainer_t
----SheetContainer_t
----_ViewerContainer_t
--DecoratorEx_t
----GridWdgBase_t
----MainMenuAnimatedWdg_t
----ImageWidget_t
----_IMEAssistWidget_t
----InputGridWidget_t
----InputHelperWidget_t
----MenuWidget_t
----PickWidget_t
----_RingListWidget_t
----ScrollbarWidget_t
----_ScrollIndicatorWdg_t
----SIIWdg_t
----TabWidget_t
----_TitleWidget_t
----WdgTransition_t
----ViewportWdg_t
--WdgBasicBmp_t
--FlipEffectWdg_t
--GlFotoListWdgBase_t
----GlBoxListWdg_t
----GlContactBrowserWdg_t
--WdgBitmap_t
--_ButtonWidget_t
--WdgCanvas_t
--CaretWidget_t
--WdgDateIcon_t
--WdgDummy_t
--WdgFadeout_t
--FormatInputWidget_t
--_MAE_HandWritingWdg_t
--_IndicatorWidget_st
--InputWidget_t
--Kmx_PopupWidget_t
--Kmx_SoftkeyboardWidget_t
--WdgOsd_t
--WdgProgress_t
--_PullDownWidget_t
--_StatisticsChart_Widget_t
--SwitchIconWidget_t
--TextWidget_t
--WdgTimerFormat_t
0、在Advanced的标签页,选择项目所用的FLASH类型,2.04_M100用的是NAND的。 高级技巧: |