×
Namespaces

Variants
Actions

Symbian常用工具用法说明

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
chengkai 在 20 Dec 2007 创建
最后由 hamishwillee 在 15 Dec 2011 编辑


本文介绍symbian下常用的工具包括编译、打包、签名,通常我们使用IDE开发工具不会直接用到这些命令。但是了解这些命令的细节对我们开发调试还是有很大的帮助,我们可以知道IDE工具在完成编译、打包等操作都经历了哪些步骤,一旦某些环节出现问题我们可以很快的找出问题的根源。毕竟IDE工具也是以命令行工具为基础,掌握这些命令也会给我们带来更大的灵活性。

Contents

构建编译

bldmake命令

bldmake 工具用来根据当前目录下的组建描述文件(bld.inf)产生多个makefile,然后用这些makefile构建不同平台的组件.以下是bldmake的常用命令说明:

  • bldmake bldfiles - 根据bld.inf文件生成makefile及命令脚本
  • bldmake clean - 此命令会删除已经生产的makefile,通常在我们修改了mmp文件或bld.inf后需要清除原来的makefile然后重新生成
  • bldmake inf - 此命令会列出bld.inf文件的参数,你需要根据这些参数来编写和定制bld.inf.


abld.bat

abld是由bldmake命令根据bld.inf文件生成的批处理文件,用于执行不同的组件构建命令.以下是abld.bat的常用命令参数说明:

abld build

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

abld resource 用于我们编译资源文件,如 .rss .mbm .aif 等.当我们修改了资源文件可以运行此命令对资源文件进行编译 。


abld resource


abld clean

abld clean 命令用于删除所有生成的目标文件,需要对项目重新构建的时候运行此命令删除旧的目标文件.


位图资源转换工具:bmconv.exe

bmconv工具提供了位图文件和.mbm文件直接的转换的功能,我们可以通过此命令把若干个位图文件打包到.mbm文件中,也可以从.mbm文件中导出bmp文件。

从.bmp文件生成.mbm文件

把两个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文件内容

.mbm文件是由一个或多个位图组成,我们可通过 bmconv /v参数查看.mbm文件的内容。

bmconv  /v my.mbm

从.mbm文件导出.bmp文件

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

makesis命令可以根据.pkg文件制作目标设备的文件的打包安装程序(.sis) ,使用方法很简单进入到pkg文件目录执行 makesis myapp.pkg.

提示:我们可以通过运行 makesis -h 获取.pkg文件的详细语法参数

对编译后的目标文件进行打包

makesis myapp.pkg


makekeys

在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

在第三版中使用单独的signsis工具为软件进行签名. 在创建sis软件包及签名证书后通过signsis工具对软件进行签名。

signsis的用法: signsis input [output [certificate key [passphrase] ] ]


软件打包签名过程

在s60第二版中我们可以直接运行makesis myapp.pkg 对软件打包。软件签名不是强制的,当然从安全的角度考虑对发布的软件进行签名还是有必要的。以下介绍s60第二版和第三版的软件自签名过程。

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

s60第三版

步骤一:生成私钥和证书

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 mycert.cer mykey.key yourpasswd
This page was last modified on 15 December 2011, at 09:38.
196 page views in the last 30 days.