brew开发环境搭建

1、先安装VC6或VS.net

2、再安装brew sdk(1.x - 4.x),可以到高通网站上下载

3、再安装brew sdk tools,其中包括了很多工具:MIF Editor、resource Editor等

编译、链接成功后,执行时候跳出simulator的时候,一定要设置File->change Applet dir...

比如你的helloworld程序的目录是这样的:

d:/code/helloworld

那么你的Applet dir的设置就应该是d:/code目录,否则,你得不到你要的运行结果。

 

安装BREW 开发工具包
BREW程序开发工具包提供了基本的开发和调试环境,包含了API头文件,模拟器,参考文档和一些Demo程序。本文的示例将使用SDK3.1,但是由于程序比较简单,使用的都是基本的API,所以能够在2.13.1的环境里正常运行。

 

小提示SDK全称是Software Design Kit,意思是软件开发包

 

第一步:登陆高通BREW首页(http://brew.qualcomm.com,
点击网页左边导航栏中 “Download the BREW 3.1 SDK”按钮。

第二步进入邮箱验证页面,在“Email Address”处填入欲注册的邮箱号码,例如[email protected]然后点击"Submit"按钮提交就可以进入SDK下载页了。
第三步:在这里,选择想安装SDK版本,例如“SDK3.1.5 English”,再点击“Install”按钮(图1),弹出标题为“BREW SDK Install Page”的网页,提示是否需要安装ActiveX控件:来自“InstallShield Software Corporation”的“nstallShield Wizard”,将该ActiveX控件安装后才能继续SDK的安装。
小提示
要保证防火墙是允许”InstallShield Wizard”访问网络的。
第四步 ActiveX控件安装完成后,点击网页上的链接”Click to start installation”,在弹出的对话框中,一路“Next”下去即可。
第五步:SDK安装选择页面最下面,找到链接 BREW SDK Tools 1.0.1”,安装“BREW SDK Tools”工具包。安装完后,打开VC,可以在工具栏看到BREW插件工具条。
如果没有看到,查看一下VC的插件设置,加载成功没有进来。打开Tools菜单中的”Customize”对话框,查看“Add-ins and Macro Files”属性页中的”BREWAddins.DSAddin.1”,勾选即可完成配置

程序错误解决方案
问题1:模拟器上找不到程序图标

辛辛苦苦写好了代码,编译又通过了,但是启动模拟器,却怎么也找不到我们的小程序图标,只有系统自带的。这个原因就是MIF文件的路径不对了。
在模拟器上选择“Tools Settings,看到“Initial MIF Directory”栏里显示的目录是“C:/Program Files/BREW 3.1.5/sdk/examples”,这个就是模拟器选择运行应用程序的目录,定位到该目录,可以找到一些MIF文件。
所有在模拟器上出现小图标的程序,这里都有相应的MIF文件,我们只要把“firstapp.mif”复制到“examples”目录下,再次启动模拟器,就能看到我们的小程序图标了。

问题2:启动程序时模拟器上出现:“This application has been unloaded to save memory. You must download a new version.
和问题1类似,这个提示信息是指找不到可运行的DLLl文件。在模拟器运行目录下,确保“firstapp.mif”和工程文件夹“firstapp”并列,并且保证“firstapp.dll”在“firstapp”文件夹里(图2)。
问题3:出现“Unknown Error”错误提示(3)
这是由于Class ID不匹配造成的,检查一下BID文件和MIF文件里的是否一致,如果不一样,就可能出现这种问题。
问题4、程序运行正常,退出时屏幕提示“Module failed to free all memory
       该提示的意思是应用程序在退出之前没有能释放掉所有程序运行期间分配的内存,造成内存泄漏。由于在BREW设备上的可用内存是有限的,因此清理不使用的内存就十分重要了。推荐在内存不再使用的时候就释放掉。
假设我们使用了“IMenuCtl”接口,退出时这样释放就没有问题了:
       // if ( pMe->pIMenuCtl != NULL )
//
判断对象是否为NULL


// {


//
IMENUCTL_Release(pMe->pIMenuCtl)
//
释放对象


//
pMe->pIMenuCtl = NULL;
//
设置对象为NULL


// }

你可能感兴趣的:(移动开发)