您的位置:首页 > 其它

[原创]一步步教你用brew写游戏 6-真机运行

2011-04-19 10:55 381 查看
一步步教你用brew写游戏
六 真机运行
本来这一讲讲的是brew内部实现,但发现论坛有些人下载了飞机游戏后编译真机文件时报了很多莫名其妙的错误,那么就临时差这一讲来讲一讲如何让自己的游戏在真正的手机上运行起来。
首先:配置真机编译环境,这个在http://blog.csdn.net/loseleo/archive/2010/03/14/5378587.aspx 这个帖子里有些,主要是ADS那个工具,所谓ADS,在百度百科中有提到:
ADS(ARM Developer Suite),是在1993年由Metrowerks公司开发是ARM处理器下最主要的开发工具。ADS 是全套的实时开发软件工具,包编译器生成的代码密度和执行速度优异。可快速低价地创建ARM 结构应用。ADS包括三种调试器ARMeXtended Debugger, AXD 向下兼容的ARMDebugger for Windows/ARM Debugger forUNIX 和ARM 符号调试器。其中AXD 不仅拥有低版本ARM调试器的所有功能,还新添了图形用户界面,更方便的视窗管理数据显示,格式化和编辑以及全套的命令行界面。该产品还包括RealMonitor™(可以在前台调试的同时断点续存并且在不中断应用的情况下读写内存跟踪调试工具)。
  ADS对汇编、C/C++、java支持的均很好,是目前最成熟的ARM开发工具。很多ARM开发软件(例如Keil)也是借用的ADS的编译器。ADS在2006年版本已经发布到2.2。但国内大部分开发者使用的均是1.2版本。
我们用的就是1.2版本,在那个帖子里有下载地址和安装方法,安装后,首先我们点击brewtools 里面的 arm mak 编译器,如下图位置:



一会儿会有个提示框提示mak文件创建成功,就会在飞机文件夹内发现一个pfly_12.mak,这时有两条路,第一个如果是vs2003,那就点tools里面的BREW application ‘Make’ 菜单,在下方输出框内会有编译的结果,这个编译是用ADS编译的,比vs编译更加严格。
第二个如果是vs2005那就用http://blog.csdn.net/loseleo/archive/2010/03/14/5378587.aspx教程里面的编译方法。

一般错误都在上面这个帖子里面分析过了,还有几种错误见:

1:点击BREW application ‘Make’ 的时候报

file.c(234): Error: C3028E: <argument 3 to function call>: implicit cast of pointer to non-equal pointer
file.c(255): Warning: C2871W: static 'tank_HandleEvent' declared but not used
file.c: 5 warnings, 1 error, 0 serious errors



这个解决办法:

改一下mak文件就好了,這個是ADS的錯誤,你用文本編輯器打開mak文件

找到這裡
LFLAGS = $(LFLAGS) ....
把上面的改为
LFLAGS = $(LFLAGS) -verbose

2:编译有错误,提示 未定义 aeemodobj

这个是因为aeemodobj 是早期 brew SDK的结构体,现在3.1是不支持的,编译会报错:

解决办法,删除工程中的AEEAppGen.c 和AEEModGen.c,然后右键工程添加现有项,选择
C:/Program Files/BREW 3.1.5/sdk/src 下面的AEEAppGen.c 和AEEModGen.c 加入工程即可



这样就会生成一个pfly_12.mod 文件,这个文件就是我们手机要用的。
然后去申请一个sig文件

https://brewx.qualcomm.com/testsig/testsig.jsp用户名:StarMap@chinaunicom.com.cn,密码:123456 谨慎使用,请勿更改 ),用efs explorer打开手机的efs,把mif拖进手机目录下的mif文件夹。
在mod文件夹下建立一个pfly_12的文件夹,把pfly.bar pfly_12.mod 和刚刚生成的sig文件改名为pfly_12.sig一起放进去,其他游戏如果有音乐文件也都按文件层次放好。

重启手机,进入天翼-手机下载-就会看到你的游戏咯~快去体验一下吧

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: