Symbian常用工具用法說明

From Forum Nokia Wiki

本文介紹symbian下常用的工具包括編譯、打包、簽名,通常我們使用IDE開發工具不會直接用到這些命令。但是瞭解這些命令的細節對我們開發調試還是有很大的幫助,我們可以知道IDE工具在完成編譯、打包等操作都經歷了哪些步驟,一旦某些環節出現問題我們可以很快的找出問題的根源。畢竟IDE工具也是以命令行工具爲基礎,掌握這些命令也會給我們帶來更大的靈活性。

Contents [hide]
1 構建編譯
1.1 bldmake命令
1.2 abld.bat
1.2.1 abld build
1.2.2 abld resource
1.2.3 abld clean
1.3 位圖資源轉換工具:bmconv.exe
1.3.1 從.bmp文件生成.mbm文件
1.3.2 查看.mbm文件內容
1.3.3 從.mbm文件導出.bmp文件
1.4 構建編譯目標平臺軟件
2 打包簽名
2.1 makesis
2.2 makekeys
2.3 signsis
2.4 軟件打包簽名過程
2.4.1 s60第二版
2.4.2 s60第三版
 

構建編譯
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
[email protected]
生成私鑰及證書

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
Retrieved from "
http://wiki.forum.nokia.com/index.php/Symbian%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7%E7%94%A8%E6%B3%95%E8%AF%B4%E6%98%8E"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章