×
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.
200 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×