symbian 编译(转载)
来源:互联网 发布:淘宝店家双十一宣传语 编辑:程序博客网 时间:2024/05/29 17:41
symbian 编译(转载)
Symbian里,一个Project通常是按inc,src,group等目录组织,group目录里通常放的是项目文件,所以编译时要先到这里。用命令提示符模式进入刚才说的那个目录下,然后执行bldmakebldfiles.
命令:bldmake bldfiles
解析:这个命令会在group目录下生成一个abld.bat的批处理文件,这个文件是编译命令bldmakebldfiles根据当前的环境生成的,Symbian项目的工程文件是与具体的目标平台无关的,且与具体的IDE环境无关,项目编译成什么目标平台,由项目开发者在编译时决定,在后续的编译中,都要使用这个新生成的批处理命令abld.bat来完成。
从Symbian OS 9.1开始,常用的目标平台主要有3种:WINSCW、GCCE和ARMV5。WINSCW主要用于在模拟器上运行和调试程序。通过 GCCE编译的程序可以运行在目标手机上,但其编译出的可执行程序比较大且执行效率不是很高。ARMV5 编译器是 ARM公司的新版编译器,在S60 3rd的SDK中没有集成,需要付费才能获得,编译出的程序在目标手机上的执行性能非常高。
并且会在C:/Symbian/6.1/Series60/Epoc32/BUILD下生成C:/Symbian/6.1/Series60/Epoc32/BUILD/SYMBIAN/6.1/SERIES60/SERIES60EX/HELLOWORLD/GROUP这个深的一个目录,并在最底层目录下生成一堆.make文件。
命令:abld build winscw udeb(abld build armv5urel)
解析:这个命令会编译我们的程序,最后在C:/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB目录下生成我们的helloworld, 这个命令中的参数build表示编译程序所有,包括资源、代码等,WINSCW表示编译成WINSCW平台的目标代码,主要运行在模拟器上,udeb 表示编译成 Unicode 编码的 debug模式。
使用这个命令编译完成后,就可以在模拟器上运行程序了,在命令行启动模拟器,输入下面的命令后按回车键:
epoc
命令:abld build gcce urel
这个命令中的参数“gcce”表示使用GCCE编译器把程序编译成可在手机上执行的编译,如果在计算机上安装有ARMV5的编译器,只要把“gcce”替换成“armv5”就可以使用ARMV5编译器进行编译了,参数“urel”表示编译成Unicode编码的release模式。
命令:abld reallyclean winscw udeb
解析:clean工程文件
devices 查看安装的SDK
Nokia_Symbian3_SDK_v0.9:com.nokia.s60 - default
devices -setdefault Nokia_Symbian3_SDK_v0.9:com.nokia.s60设置缺省SDK
3.6 打包发布
3.6.1 打包文件.pkg
一个Symbian程序开发完成后,是要安装到手机上运行的,这时候就需要制作一个安装程序sis文件,通过sis文件才能将程序安装到手机上运行。
制作在Symbian手机上运行的安装程序,首先需要有一个制作安装程序描述文件*.pkg,在这个*.pkg文件中,主要存储着有哪些文件需要被打包到安装程序sis文件中,而且还要指 明将来在安装时,这些文件安装到手机的什么目录下。
通过Carbide.c++1.3的向导生成的Symbian工程,向导默认会产生一个pkg文件,这个pkg文件就存储在sis目录中。
3.6.2 制作Symbian安装程序sis文件
有了上面的 pkg 文件后,制作安装就比较轻松了。制作 sis 文件有两种方式:命令行和IDE环境中创建。
1.通过命令制作安装程序
使用命令行的方式制作安装程序,比较简洁明了,需要做什么工作就在 DOS 命令窗口输入什么命令就可以了。首先要打开一个 DOS窗口,进入到要制作安装程序的 Symbian 项目的sis目录中
makesis XXXX.pkg
在开始执行makesis命令之前,先检查一下Exam0303NewGui_S60_3_X_v_1_0_0.pkg这个pkg文件,打开这个文件,发现这个文件中有3个以$号开头的环境变量,这是Carbide.c++1.3的新建向导中生成的,在IDE环境中编译时可以使用,由于我们使用的DOS 环境中没有设置这样的环境变量,因此需要把这几个环境变量修改为实际的值,
$(EPOCROOT) 根据SDK实际安装情况
$(PLATFORM) gcce或armv5
$(TARGET) urel
对pkg文件中的环境变量修改完之后,在DOS的命令行中输入如下命令并按回车
makesis XXXX.pkg
使用以上命令制作的S60 2nd版手机安装程序sis文件,可以直接在手机上安装运行;使用以上命令制作的S603rd版手机的安装程序sis文件,还需要对sis文件进行签名才可以在手机上安装运行,sis签名相关的内容将在3.6.3节介绍。
2.通过IDE环境制作安装程序
使用Carbide.c++1.3开发Symbian项目,可以比较容易地在IDE环境下制作安装程序。
在新建或导入一个Symbian项目后,使用右键单击项目的名称,在弹出快捷菜单中选择最下面的“Properties”,在打开的“Propertiesfor Exam0303NewGui”对话框中,选择左侧树视图中的“Carbide.c++”,展开后再选择下面的“CarbideBuild Configuration”,然后在右侧的“ActiveConfiguration”中的下拉式组合列表框中选择“PhoneRelease(GCCE)[S60_3rd_MR]”,再选择下面的标签页“SISBuilder”,如果下面的列表是空的,就单击右侧的“Add”按钮,添加一个SIS Builder,这时会打开“SISProperties”的对话框
这个对话框主要用于选择要使用的pkg文件,签名选项处根据需要进行设置。如果是S60 2nd版的程序或不想对S603rd版的程序进行签名,那么可以选择“Don’t sign sis file”;下面的两个选项都是为S603rd版的程序进行设置的,如果选择了“Self sign sisfile”,在编译时,Carbide.c++会在生成sis后,自动地生成一个证书对程序签名;如果选择了“Sign sis filewith certificate/key pair”,就需要用户自己指定签名证书。
通过上面的对话框设置,以后在使用Carbide.c++为目标手机进行编译时,编译完成后,就可以直接在sis文件中找到安装程序了。
3.6.3 S60 3rd版安装程序签名
从Symbian OS 9.1开始,在OS中引入了新的安全模型,更改了工程组织、目录权限、API能力限制等,增强了程序的安全性。Symbian从以下几个方面增强了程序的安全性。
(1)TCB平台安全性的核心组件。
(2)TCE保护平台的敏感API。
(3)能力访问敏感API的权限。
(4)数据锁定安全的本地存储。
(5)SID与VID为软件和厂商提供的安全ID。
(6)边界与策略安全的IPC。
(7)软件安装程序设备上仅允许受信任的软件运行。
从Symbian OS 9.1开始,对应的S60SDK是第三版,引入了对API的能力限制,能力是授予访问敏感API权限的令牌。如果在程序中需要SymbianOS中的特定功能的API,则需要在程序的工程组织文件中声明相应的能力,在制作安装程序时也要使用具有同样能力的证书进行签名。
Symbian将API分为4类,如图3.13所示。60%无限制的API和用户在安装期间可以授权的API可以满足大多数的应用,这类程序使用自签名证书就可以对安装程序进行签名,签名后的安装程序就可以在手机上安装、测试和发布应用。自签名的证书可以使用SDK提供的makekeys工具生成自签名证书。
如果程序使用了 Symbian Signed 能力授权的API,开发过程中,需要从www.symbiansigned.com的网站上申请开发者证书进行签名,然后才可以安装到手机上进行测试。申请的开发证书是和手机绑定的,在开发完成后,要在symbiansigned的网站进行签名才可以发布并安装到任何目标手机上。
对生成的 sis 文件进行签名,因为还没有自签名证书,可以先使用下面的命令生成一个自签名证书:
该命令执行后,就会生成可以在S603rd版手机上安装的程序Exam0303NewGu.SISX,只要是签了名的sis,扩展名是sis或sisx都可以,在安装时,手机的安装程序能给识别出来,使用3.6.4介绍的方法安装到手机上就可以运行了。
一个典型的bat文件内容:
Makearm.bat
- symbian 编译(转载)
- Symbian s60入门(转载)
- symbian汉化打包(转载)
- symbian自签名(转载)
- (转载)symbian编译问题MR编译通过,FP2编译失败出现问题 APP' has initialised data
- symbian 编译
- symbian操作系统 入门篇(转载)
- [S60]symbian基本类型转换 (转载)
- (转载)symbian使用arm5编译器
- 编译运行symbian程序(如何打开一个symbian工程)
- symbian学习转载
- Symbian启动过程(转载)
- symbian同步绘图(转载)
- Qt编译(转载)
- symbian中文字符串显示问题的解决(转载)
- Symbian编程与开发环境设置 (转载)
- Symbian改变默认背景,默认字体颜色(转载)
- Symbian编译系统概观
- 注释文档
- 关于Spring核心思想的一段趣文....
- 常用正则表达式大全!(例如:匹配中文、匹配html)
- C# 加载资源
- 解析思科数据中心虚拟化技术和部署
- symbian 编译(转载)
- runOnUiThread
- 无法获得锁 /var/lib/dpkg/lock - open (11: 资源临时不可用)
- 关于在VC中调用其它EXE
- [原创]Magento1.4.2 Bug:后台Grid用时间筛选同一天记录,会漏掉当天11点以后的记录。
- JavaBean的反射机制
- Linux程序设计——用getopt处理命令行参数
- ipad2越狱
- LR(1)语法分析表生成