本文介绍symbian下常用的工具包括编译、打包、签名,通常我们使用IDE开发工具不会直接用到这些命令。但是了解这些命令的细节对我们开发调试还是有很大的帮助,我们可以知道IDE工具在完成编译、打包等操作都经历了哪些步骤,一旦某些环节出现问题我们可以很快的找出问题的根源。毕竟IDE工具也是以命令行工具为基础,掌握这些命令也会给我们带来更大的灵活性。
Contents[hide]
|
bldmake 工具用来根据当前目录下的组建描述文件(bld.inf)产生多个makefile,然后用这些makefile构建不同平台的组件.以下是bldmake的常用命令说明:
abld是由bldmake命令根据bld.inf文件生成的批处理文件,用于执行不同的组件构建命令.以下是abld.bat的常用命令参数说明:
abld build 命令用于构建不同平台的目标组件. 使用方法: abld build [选项] 目标平台 构建类型
目标平台:
通常可能的目 平台有 arm4,armi,thumb, gcce,armv5, winscw ,wins, cw_ide,vc6,vs2003等.不同的SDK版本可能支持的目 平台稍有差别.这里分别包含了目 设备,模拟器环境,IDE环境 个平台环境.
构建类型:
其中每个目标平台又包括几个可能的构建类型如udeb(debug版本),urel(发布版本),all (debug和release).
使用gcce编译器生成发布版本
abld build gcce urel
构建模拟器环境调试版本并显示详细信息
abld build -v winscw udeb
abld resource 用于我们编译资源文件,如 .rss .mbm .aif 等.当我们修改了资源文件可以运行此命令对资源文件进行编译。
abld resource
abld clean 命令用于删除所有生成的目标文件,需要对项目重新构建的时候运行此命令删除旧的目标文件.
bmconv工具提供了位图文件和.mbm文件直接的转换的功能,我们可以通过此命令把若干个位图文件打包到.mbm文件中,也可以从.mbm文件中导出bmp文件。
把两个12位的位图1.bmp,2.bmp编译成 my.mbm
bmconv my.mbm /c121.bmp /c122.bmp
把两个12位的位图my.bmp,mymask.bmp编译成 my.mbm.并生成my.mbg
bmconv /hmy.mbg my.mbm /c12my.bmp /c12mymask.bmp
.mbm文件是由一个或多个位图组成,我们可通过 bmconv /v参数查看.mbm文件的内容。
bmconv /v my.mbm
bmconv /u input.mbm 1.bmp 2.bmp
使用bldmake,abld工具即可完成译目标平台软件的编译构建以下是其使用步骤。步骤一:生成目标平台makefile及工具脚本
cd myapp/group bldmake clean bldmake bldfiles
步骤二:编译生成目标平台文件
abld clean abld build gcce urel
makesis命令可以根据.pkg文件制作目标设备的文件的打包安装程序(.sis) ,使用方法很简单进入到pkg文件目录执行 makesis myapp.pkg.
提示:我们可以通过运行 makesis -h 获取.pkg文件的详细语法参数
对编译后的目标文件进行打包
makesis myapp.pkg
在s60 3rd中软件签名是必须的(在2nd中没有强制要求)签名的软件是被拒绝安装的.一般的软件发布测试可以通过自签名达到普通的使用目的(如果要使用扩展的capabilities 或安全性敏感的capabilities 则需要symbian sign) makekeys 命令可以帮我们创建私钥和自签名证书.其使用方法如下:
makekeys -cert [-v] [-len key-length] [-password password] -dname distinguished-name-string private-key-file public-key-cert
其中dname参数为自签名证书提供标识组织机构的信息字符串,字符串通过简写名称标识不同字段其简写标识含义如下.
CN Common Name CN=Joe Bloggs OU Organisational Unit OU=Development OR Organisation OR=Acme Ltd LO Locality LO= ST State ST= CO Country CO=GB EM E-mail address EM=noone@nowhere.com
生成私钥及证书
makekeys -cert -password yourpasswd -dname "CN=Your Name EM=myemail@address CO=myOrg" mykey.key mycert.cer
在第三版中使用单独的signsis工具为软件进行签名. 在创建sis软件包及签名证书后通过signsis工具对软件进行签名。
signsis的用法: signsis input [output [certificate key [passphrase] ] ]
在s60第二版中我们可以直接运行makesis myapp.pkg 对软件打包。软件签名不是强制的,当然从安全的角度考虑对发布的软件进行签名还是有必要的。以下介绍s60第二版和第三版的软件自签名过程。
步骤一:生成私钥和证书
cd myapp/group makekeys -cert -password yourpasswd -dname "CN=Your Name EM=myemail@address CO=myOrg" mykey.key mycert.cer
步骤二:在.pkg文件中 入生成私钥及证书的名称
*"mykey.key","mycert.cer"
步骤三:使用makesis命令进行打包
makesis -p yourpasswd myapp.pkg mycert.cer mycert
步骤一:生成私钥和证书
cd myapp/group makekeys -cert -password yourpasswd -dname "CN=Your Name EM=myemail@address CO=myOrg" mykey.key mycert.cer
步骤二:运行makesis命令进行打包
makesis myapp.pkg
步骤三:为生成的sis文件签名
signsis yoursis.sis myapp.sisx mykey.key yourpasswd