如何制作sis文件
制作sis文件的基礎(chǔ)知識!!
一、
Symbian針對不同的終端有不同的開發(fā)包,目前多見的是NOKIA的60和80系列Series 60 SDK for Symbian OS (for the Nokia 7650 and the Nokia 3650), Nokia 9200 Communicator Series SDK for Symbian OS 以及CodeWarrior Development Studio for Symbian OS等。
Series 60 SDK for Symbian OS可以從forum.nokia.com免費(fèi)獲得,該開發(fā)包是一個(gè)壓縮文件,下載后請解壓縮后再進(jìn)行安裝。該SDK安裝沒有任何特別要求,有些同道認(rèn)為必須安裝在C:下面,我不知道他們的系統(tǒng)配置,但我在win2K 下是裝在哪個(gè)區(qū)都可以的。
如果是中文win2k,安裝以后兩個(gè)development tools:AIF Builder 和Sisar運(yùn)行時(shí)會拋異常,這是因?yàn)镾DK不是中文版本的緣故,在控制面板里將區(qū)域設(shè)置改為美國英語就OK了。
為了避免每一行代碼都自己敲,我們可以利用一下該SDK與MS VC的集成,雖然和VC弄在一起其實(shí)幫了不多大忙,但在目前沒有好的工具的情況下(Borland那個(gè)不知道什么時(shí)候才出來),也只好將就一下啦。
為了能順利進(jìn)行集成,MSDEV應(yīng)該升級到Service Pack 3,幸運(yùn)的是Service Pack可以從MS自由下載,目前的版本是SP5,可以到MS去搜一下Service Pack,翻幾頁就找到了。下載的時(shí)候請注意下載相應(yīng)的語言版本,否則升級以后輸入在編碼時(shí)輸入漢字會亂碼的,此外SP5要求MDAC(數(shù)據(jù)存取組件)2.6的版本,也可以從MS免費(fèi)下載。
裝完并升級完VC后,就可以進(jìn)行整合了,步驟是:拷貝/6.1/Series60/Series60Tools/ApplicationWizard下的兩個(gè)文件AvkonAppWiz.awx和AVKONAPPWIZ.HLP到/Common/MsDev98/Template下面。很簡單吧:)
OK,大功告成,運(yùn)行一下VC,new 一個(gè)Project試一下,如果Project選項(xiàng)中有Series 60 AppWizard,就說明一切正常。嗯,不對,還有點(diǎn)不正常,如果你的項(xiàng)目目錄選取在和Symbian安裝不是同一個(gè)分區(qū),到最后一步會出現(xiàn):xxx/xxx.dsw,the specified project couldn’t be instered into the current workspace。所以項(xiàng)目目錄一定要和symbian共存在一個(gè)分區(qū)。關(guān)于這個(gè)原因,偶也沒搞明白,估計(jì)是AvkonAppWiz.awx相應(yīng)的地方?jīng)]帶分區(qū)盤符所致。
Appwizard第二步:what type of application would you like create?有兩種類型:
EIKON Control,Dialog based,還有一個(gè)選項(xiàng):support view architecture. KAO,和VC搞windows太象了吧??的確是哦,這是偶準(zhǔn)備下一次討論的東東:應(yīng)用程序框架.現(xiàn)在先不管它,隨便選一個(gè)吧。
接下來就可以編譯運(yùn)行一把了,這個(gè)和編譯運(yùn)行ActiveX差不多,執(zhí)行時(shí)需要選擇執(zhí)行文件,請選擇S60模擬器:/6.1/Series60/Epoc32/realease/wins/UDEB/Epoc.exe 就OK 啦!
二、
下面我們就以60系列為例,介紹SDK的安裝過程。
1.1 安裝SDK
第一步,到Nokia論壇注冊,下載最新的SDK。Nokia 網(wǎng)站提供的Series 60 SDK for Symbian OS Nokia Edition SDK最新版本是v1.2,Series 60 SDK for Symbian OS的最新版本是v2.1。下載網(wǎng)址:http://www.forum.nokia.com/main/0,6566,034-4,00.html
第二步,到http://www.activestate.com 網(wǎng)站下載最新的Active Perl Script 安裝程序。到http://www.java.com/en/download/manual.jsp 下載最新的J2RE。
第三步:安裝SDK,推薦為Symbian開發(fā)單獨(dú)建一個(gè)目錄,例如d:/Symbian而不是使用C:/program files等這樣的目錄。
第四步:安裝Active Perl和J2RE,安裝到默認(rèn)目錄即可。
第五步:檢查環(huán)境變量設(shè)定。打開系統(tǒng)環(huán)境變量tab,然后看看有沒有EPOCROOT,如果有的話,把它手動改成“/” 。改完之后應(yīng)該是這個(gè)樣子的:
EPOCROOT = /
然后,在系統(tǒng)PATH中加入 /epoc32/tools目錄以及/epoc32/gcc/bin目錄就可以了。
實(shí)際上,Symbian SDK根本不用安裝,直接把epoc32目錄拷貝到一個(gè)機(jī)器上,然后照上述方法設(shè)定目錄和環(huán)境變量就可以了。
1.2 配置VC
如果我們使用的是VC 6.0,我們要保證系統(tǒng)至少打了SP3補(bǔ)丁,否則系統(tǒng)會有警告提示。如果我們使用的是VS.NET2003, 我們就只能安裝Series 60 SDK for Symbian OS v2.1,因?yàn)镾eries 60 SDK for Symbian OS Nokia Edition SDK v1.2在VS.NET2003無法正確建立工程。
如果要直接在vc6里創(chuàng)建新項(xiàng)目,要把/Symbian/6.1/Series60/Series60Tools/ Application Wizard目錄下的 AvkonAppWiz.awx和AVKONAPPWIZ.HLP文件拷貝到vc6的模板目錄C:/Program Files/ Microsoft Visual Studio/ Common/ MSDev98/ Template下。這樣我們就可以在VC的新建工程中看到Series 60 AppWizard v 1.9這個(gè)選項(xiàng).
填入Project Name 以后,確認(rèn)。
一路“Next”,一個(gè)最簡單的Symbian應(yīng)用程序就建立好了。
如果要將已經(jīng)建立好的工程導(dǎo)入到VC6.0中,比如我們將SDK中的例子HelloWorld轉(zhuǎn)換成一個(gè)VC6的項(xiàng)目,我們首先進(jìn)入/Symbian/6.1/Series60/Series60Ex/HelloWorld目錄。在這里我們可以看到,在Symbian中,一個(gè)Project通常是按inc, src, group等目錄組織,group目錄里通常放的是項(xiàng)目文件,所以編譯時(shí)要先到這里。用命令提示符模式進(jìn)入剛才說的那個(gè)目錄下,然后執(zhí)行:
bldmake bldfiles
這個(gè)命令會在group目錄下生成一個(gè)abld.bat的批處理文件,并且會在/Symbian /6.1/Series60/Epoc32/BUILD下生成/Symbian/6.1/Series60/Epoc32/BUILD/SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP這個(gè)目錄,并在最底層目錄下生成一堆 .make文件。
然后,我們在同一個(gè)目錄運(yùn)行剛才生成的abld.bat:
abld makefile vc6
這樣就會自動生成vc6的dsw文件,位置在/Symbian/6.1/Series60/Epoc32/BUILD/ SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP/HELLOWORLD/WINS。然后我們就可以在VC6種打開這個(gè)Symbian工程了。
2 編譯
我們可以直接使用SDK提供的工具編譯Symbian 工程,也可以使用VC6提供的集成環(huán)境來編譯轉(zhuǎn)化過的Symbian 工程。編譯的結(jié)果存放在/Symbian/6.1/Series60/Epoc32/ Release/wins/UDEB/Z/SYSTEM/apps目錄中。
2.1使用SDK提供的工具編譯Symbian 工程
我們在上一節(jié)的那個(gè)位置繼續(xù)輸入:
abld build wins udeb
這個(gè)命令會編譯我們的程序,最后在/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB目錄下生成我們的helloworld,然后我們可以從開始菜單里運(yùn)行模擬器的debug版,在模擬其中就可以運(yùn)行helloworld了。
2.2 使用VC6編譯Symbian 工程
我們直接打開運(yùn)行abld makefile vc6后生成的dsw文件,VC自動裝載轉(zhuǎn)化過的工程。按F7便可以直接編譯工程,編譯結(jié)果同樣放在/Symbian/6.1/Series60/Epoc32/Release/ wins/UDEB目錄中。然后我們打開模擬器debug 版,就可以看到我們編譯好的工程了。
3 打包
我們以SDK 1.2提供的HelloWorld為例,制作可以在手機(jī)中安裝的.SIS文件:
3.1.檢查程序
首先,在命令行格式下,進(jìn)入HelloWorld工程mmp文件所在目錄,輸入bldmake bldfiles和abld build wins udeb,然后打開模擬器,檢測程序有無錯(cuò)誤。
3.2.編譯工程
在程序無錯(cuò)誤后,在命令行輸入abld build armi urel 。執(zhí)行這個(gè)命令之后會在目錄d:/symbian/6.1/series60/epoc32/release/armi/urel生成HELLOWORLD.APP和HELLOWORLD.RSC兩個(gè)文件。
3.3.建立.pkg文件
在d:/Symbian/6.1/Series60/Series60Ex/helloworld/sis 用記事本建立或者修改工程的pkg文件,內(nèi)容如下:
; HelloWorld.pkg
;
;Language - standard language definitions
&EN
; standard SIS file header
#{"HelloWorld"},(0x10005B91),1,0,0
;Supports Series 60 v 1.2
(0x101F8202), 0, 0, 0, {"Series60ProductID"}
;
"d:/symbian/6.1/series60/epoc32/release/armi/urel/HelloWorld.APP"-"!:/system/apps/HelloWorld/HelloWorld.app"
"d:/symbian/6.1/series60/epoc32/release/armi/urel/HELLOWORLD.rSC"-"!:/system/apps/HelloWorld/HELLOWORLD.rSC"
其中,前面"d:/symbian/6.1/series60/epoc32/release/armi/urel/HELLOWORLD.rSC"是要打包安裝的文件,"!:/system/apps/HelloWorld/HELLOWORLD.rSC"是安裝的目標(biāo)位置。在其中要注意的是,我們在目標(biāo)位置中用“!”代替了實(shí)際的盤符。這樣做得好處是在用戶安裝的時(shí)候,手機(jī)系統(tǒng)會提示用戶選擇要安裝的位置,這就給了用戶更大的靈活度。另外,在Symbian 系統(tǒng)中,安裝的應(yīng)用程序默認(rèn)位置是“!:/system/apps ”。
編輯好pkg文件后,保存至相應(yīng)目錄。
3.4.打包程序
在命令行中,轉(zhuǎn)至pkg文件所在目錄,運(yùn)行命令makesis HelloW
三、
裝S60 的sdk的時(shí)候 云里霧里 的搞了好長時(shí)間,到最后才算蒙混過關(guān)了,想來有幾點(diǎn)總結(jié)供大家參考,也希望能給第一次裝的兄弟們一點(diǎn)參考:
1 設(shè)環(huán)境變量,凡是說什么東西找不到 你就把它加到環(huán)境變量path里面,(我的電腦->屬性->高級->path->編輯),它不找不到么,加里面它就找到了,設(shè)完環(huán)境變量后 msdos 窗口要重新打開.
2 在symbian里面似乎沒有邏輯盤的概念,所以我建議把什么perl 之類的裝到都裝到一個(gè)邏輯盤的跟目錄下,而且是自己建個(gè)目錄.
俺的經(jīng)歷寫到了注釋里了
3 你所編譯后的程序其實(shí)都在"...Epoc32/BUILD"目錄下建了個(gè)相同的工程,你往下一層一層找就找到了你的 .dsw什么的,(symbian這么帥的想法!佩服!! 為什么呢?) 多看看目錄有好處哦,如果vc說dsw出問題了,那你自己到目錄里面去把它找出來
4 在G:/Symbian/7.0s/Series60_v21_C/Series60Ex/目錄下(我下的是中文版路徑不太一樣,環(huán)境變量什么的我都自己按我的來的,還有個(gè)在G:/Symbian/7.0s/Series60_v21_C/Examples下,我的是G盤哦)有個(gè) helloworldbasic 是個(gè)很不錯(cuò)的例子 symbian的sdk里有關(guān)于它的說明,在:series 60 sdk Example application->Example application->hello world basic example. 仔細(xì)研究一下它的關(guān)于過程的uml圖,有很多help
二.開發(fā)環(huán)境入門
2.1 安裝SDK及VC
Nokia根據(jù)手機(jī)的屏幕大小和價(jià)格高低把手機(jī)分成了多個(gè)系列,現(xiàn)在使用的系列有:Series 40、Series 60、Series 80 和Series 90。60系列采用Symbian os 6.1,然后又根據(jù)手機(jī)屏幕的特點(diǎn)對UI做了一些修改,這個(gè)被修改了的Symbian就被稱為Nokia的60系列平臺。使用60系列的手機(jī)型號包括:Nokia 6670、 Nokia 6630、 Nokia 6260 、Nokia N-Gage QD? 、Nokia 7610 、Nokia 6620 、Nokia 3620 、Nokia 3660 、Nokia 6600 、Nokia 3600、Nokia 3650、Nokia 7650、Nokia N-Gage?等。
下面我們就以60系列為例,介紹SDK的安裝過程。
2.1.1 安裝SDK
第一步,到Nokia論壇注冊,下載最新的SDK。Nokia 網(wǎng)站提供的Series 60 SDK for Symbian OS Nokia Edition SDK最新版本是v1.2,Series 60 SDK for Symbian OS的最新版本是v2.1。下載網(wǎng)址:http://www.forum.nokia.com/main/0,6566,034-4,00.html (需要郵箱確認(rèn)激活,我第二天才受到確認(rèn)郵件,暈死)
第二步,到http://www.activestate.com 網(wǎng)站下載最新的Active Perl Script 安裝程序。到http://www.java.com/en/download/manual.jsp 下載最新的J2RE。(據(jù)說沒用)
第三步:安裝SDK,推薦為Symbian開發(fā)單獨(dú)建一個(gè)目錄,例如d:/Symbian而不是使用C:/program files等這樣的目錄。
第四步:安裝Active Perl和J2RE,安裝到默認(rèn)目錄即可。
第五步:檢查環(huán)境變量設(shè)定。打開系統(tǒng)環(huán)境變量tab,然后看看有沒有EPOCROOT,如果有的話,把它手動改成“/” 。改完之后應(yīng)該是這個(gè)樣子的:
EPOCROOT = /
(想告訴它就在你現(xiàn)在的目錄里,但我沒搞定,還是把它的全路徑搜出來加到里面了,但目錄最后要加 "/")
然后,在系統(tǒng)PATH中加入 /epoc32/tools目錄以及/epoc32/gcc/bin目錄就可以了。
實(shí)際上,Symbian SDK根本不用安裝,直接把epoc32目錄拷貝到一個(gè)機(jī)器上,然后照上述方法設(shè)定目錄和環(huán)境變量就可以了。
2.1.2 配置VC
如果我們使用的是VC 6.0,我們要保證系統(tǒng)至少打了SP3補(bǔ)丁,否則系統(tǒng)會有警告提示。如果我們使用的是VS.NET2003, 我們就只能安裝Series 60 SDK for Symbian OS v2.1,因?yàn)镾eries 60 SDK for Symbian OS Nokia Edition SDK v1.2在VS.NET2003無法正確建立工程。
如果要直接在vc6里創(chuàng)建新項(xiàng)目,要把/Symbian/6.1/Series60/Series60Tools/ Application Wizard目錄下的 AvkonAppWiz.awx和AVKONAPPWIZ.HLP文件拷貝到vc6的模板目錄C:/Program Files/ Microsoft Visual Studio/ Common/ MSDev98/ Template下。這樣我們就可以在VC的新建工程中看到Series 60 AppWizard v 1.9這個(gè)選項(xiàng).
填入Project Name 以后,確認(rèn)。
一路“Next”,一個(gè)最簡單的Symbian應(yīng)用程序就建立好了。
如果要將已經(jīng)建立好的工程導(dǎo)入到VC6.0中,比如我們將SDK中的例子HelloWorld轉(zhuǎn)換成一個(gè)VC6的項(xiàng)目,我們首先進(jìn)入/Symbian/6.1/Series60/Series60Ex/HelloWorld目錄。在這里我們可以看到,在Symbian中,一個(gè)Project通常是按inc, src, group等目錄組織,group目錄里通常放的是項(xiàng)目文件,所以編譯時(shí)要先到這里。用命令提示符模式進(jìn)入剛才說的那個(gè)目錄下,然后執(zhí)行:
bldmake bldfiles
這個(gè)命令會在group目錄下生成一個(gè)abld.bat的批處理文件,并且會在/Symbian /6.1/Series60/Epoc32/BUILD下生成/Symbian/6.1/Series60/Epoc32/BUILD/SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP這個(gè)目錄,并在最底層目錄下生成一堆 .make文件。
然后,我們在同一個(gè)目錄運(yùn)行剛才生成的abld.bat:
abld makefile vc6
這樣就會自動生成vc6的dsw文件,位置在/Symbian/6.1/Series60/Epoc32/BUILD/ SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP/HELLOWORLD/WINS。然后我們就可以在VC6種打開這個(gè)Symbian工程了。
2.2 編譯
我們可以直接使用SDK提供的工具編譯Symbian 工程,也可以使用VC6提供的集成環(huán)境來編譯轉(zhuǎn)化過的Symbian 工程。編譯的結(jié)果存放在/Symbian/6.1/Series60/Epoc32/ Release/wins/UDEB/Z/SYSTEM/apps目錄中。
2.2.1使用SDK提供的工具編譯Symbian 工程
我們在上一節(jié)的那個(gè)位置繼續(xù)輸入:
abld build wins udeb
這個(gè)命令會編譯我們的程序,最后在/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB目錄下生成我們的helloworld,然后我們可以從開始菜單里運(yùn)行模擬器的debug版,在模擬其中就可以運(yùn)行helloworld了。
2.2.2 使用VC6編譯Symbian 工程
我們直接打開運(yùn)行abld makefile vc6后生成的dsw文件,VC自動裝載轉(zhuǎn)化過的工程。按F7便可以直接編譯工程,編譯結(jié)果同樣放在/Symbian/6.1/Series60/Epoc32/Release/ wins/UDEB目錄中。然后我們打開模擬器debug 版,就可以看到我們編譯好的工程了。
2.3 打包
我們以SDK 1.2提供的HelloWorld為例,制作可以在手機(jī)中安裝的.SIS文件:
2.3.1.檢查程序
首先,在命令行格式下,進(jìn)入HelloWorld工程mmp文件所在目錄,輸入bldmake bldfiles和abld build wins udeb,然后打開模擬器,檢測程序有無錯(cuò)誤。
2.3.2.編譯工程
在程序無錯(cuò)誤后,在命令行輸入abld build armi urel 。執(zhí)行這個(gè)命令之后會在目錄d:/symbian/6.1/series60/epoc32/release/armi/urel生成HELLOWORLD.APP和HELLOWORLD.RSC兩個(gè)文件。
2.3.3.建立.pkg文件
在d:/Symbian/6.1/Series60/Series60Ex/helloworld/sis 用記事本建立或者修改工程的pkg文件,內(nèi)容如下:
; HelloWorld.pkg
;
;Language - standard language definitions
&EN
; standard SIS file header
#{"HelloWorld"},(0x10005B91),1,0,0
;Supports Series 60 v 1.2
(0x101F8202), 0, 0, 0, {"Series60ProductID"}
;
"d:/symbian/6.1/series60/epoc32/release/armi/urel/HelloWorld.APP"-"!:/system/apps/HelloWorld/HelloWorld.app"
"d:/symbian/6.1/series60/epoc32/release/armi/urel/HELLOWORLD.rSC"-"!:/system/apps/HelloWorld/HELLOWORLD.rSC"
其中,前面"d:/symbian/6.1/series60/epoc32/release/armi/urel/HELLOWORLD.rSC"是要打包安裝的文件,"!:/system/apps/HelloWorld/HELLOWORLD.rSC"是安裝的目標(biāo)位置。在其中要注意的是,我們在目標(biāo)位置中用“!”代替了實(shí)際的盤符。這樣做得好處是在用戶安裝的時(shí)候,手機(jī)系統(tǒng)會提示用戶選擇要安裝的位置,這就給了用戶更大的靈活度。另外,在Symbian 系統(tǒng)中,安裝的應(yīng)用程序默認(rèn)位置是“!:/system/apps ”。
編輯好pkg文件后,保存至相應(yīng)目錄。
2.3.4.打包程序
在命令行中,轉(zhuǎn)至pkg文件所在目錄,運(yùn)行命令makesis HelloWorld.pkg。之后我們就在同一目錄下得到了打包好的.sis文件。
四
Symbian編程VC開發(fā)環(huán)境設(shè)置
1 安裝SDK及VC
Nokia根據(jù)手機(jī)的屏幕大小和價(jià)格高低把手機(jī)分成了多個(gè)系列,現(xiàn)在使用的系列有:Series 40、Series 60、Series 80 和Series 90。60系列采用Symbian os 6.1,然后又根據(jù)手機(jī)屏幕的特點(diǎn)對UI做了一些修改,這個(gè)被修改了的Symbian就被稱為Nokia的60系列平臺。使用60系列的手機(jī)型號包括:Nokia 6670、 Nokia 6630、 Nokia 6260 、Nokia N-Gage QD? 、Nokia 7610 、Nokia 6620 、Nokia 3620 、Nokia 3660 、Nokia 6600 、Nokia 3600、Nokia 3650、Nokia 7650、Nokia N-Gage?等。
下面我們就以60系列為例,介紹SDK的安裝過程。
1.1 安裝SDK
第一步,到Nokia論壇注冊,下載最新的SDK。Nokia 網(wǎng)站提供的Series 60 SDK for Symbian OS Nokia Edition SDK最新版本是v1.2,Series 60 SDK for Symbian OS的最新版本是v2.1。下載網(wǎng)址:http://www.forum.nokia.com/main/0,6566,034-4,00.html
第二步,到http://www.activestate.com 網(wǎng)站下載最新的Active Perl Script 安裝程序。到http://www.java.com/en/download/manual.jsp 下載最新的J2RE。
第三步:安裝SDK,推薦為Symbian開發(fā)單獨(dú)建一個(gè)目錄,例如d:/Symbian而不是使用C:/program files等這樣的目錄。
第四步:安裝Active Perl和J2RE,安裝到默認(rèn)目錄即可。
第五步:檢查環(huán)境變量設(shè)定。打開系統(tǒng)環(huán)境變量tab,然后看看有沒有EPOCROOT,如果有的話,把它手動改成“/” 。改完之后應(yīng)該是這個(gè)樣子的:
EPOCROOT = /
然后,在系統(tǒng)PATH中加入 /epoc32/tools目錄以及/epoc32/gcc/bin目錄就可以了。
實(shí)際上,Symbian SDK根本不用安裝,直接把epoc32目錄拷貝到一個(gè)機(jī)器上,然后照上述方法設(shè)定目錄和環(huán)境變量就可以了。
1.2 配置VC
如果我們使用的是VC 6.0,我們要保證系統(tǒng)至少打了SP3補(bǔ)丁,否則系統(tǒng)會有警告提示。如果我們使用的是VS.NET2003, 我們就只能安裝Series 60 SDK for Symbian OS v2.1,因?yàn)镾eries 60 SDK for Symbian OS Nokia Edition SDK v1.2在VS.NET2003無法正確建立工程。
如果要直接在vc6里創(chuàng)建新項(xiàng)目,要把/Symbian/6.1/Series60/Series60Tools/ Application Wizard目錄下的 AvkonAppWiz.awx和AVKONAPPWIZ.HLP文件拷貝到vc6的模板目錄C:/Program Files/ Microsoft Visual Studio/ Common/ MSDev98/ Template下。這樣我們就可以在VC的新建工程中看到Series 60 AppWizard v 1.9這個(gè)選項(xiàng).
填入Project Name 以后,確認(rèn)。
一路“Next”,一個(gè)最簡單的Symbian應(yīng)用程序就建立好了。
如果要將已經(jīng)建立好的工程導(dǎo)入到VC6.0中,比如我們將SDK中的例子HelloWorld轉(zhuǎn)換成一個(gè)VC6的項(xiàng)目,我們首先進(jìn)入/Symbian/6.1/Series60/Series60Ex/HelloWorld目錄。在這里我們可以看到,在Symbian中,一個(gè)Project通常是按inc, src, group等目錄組織,group目錄里通常放的是項(xiàng)目文件,所以編譯時(shí)要先到這里。用命令提示符模式進(jìn)入剛才說的那個(gè)目錄下,然后執(zhí)行:
bldmake bldfiles
這個(gè)命令會在group目錄下生成一個(gè)abld.bat的批處理文件,并且會在/Symbian /6.1/Series60/Epoc32/BUILD下生成/Symbian/6.1/Series60/Epoc32/BUILD/SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP這個(gè)目錄,并在最底層目錄下生成一堆 .make文件。
然后,我們在同一個(gè)目錄運(yùn)行剛才生成的abld.bat:
abld makefile vc6
這樣就會自動生成vc6的dsw文件,位置在/Symbian/6.1/Series60/Epoc32/BUILD/ SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP/HELLOWORLD/WINS。然后我們就可以在VC6種打開這個(gè)Symbian工程了。
2 編譯
我們可以直接使用SDK提供的工具編譯Symbian 工程,也可以使用VC6提供的集成環(huán)境來編譯轉(zhuǎn)化過的Symbian 工程。編譯的結(jié)果存放在/Symbian/6.1/Series60/Epoc32/ Release/wins/UDEB/Z/SYSTEM/apps目錄中。
2.1使用SDK提供的工具編譯Symbian 工程
我們在上一節(jié)的那個(gè)位置繼續(xù)輸入:
abld build wins udeb
這個(gè)命令會編譯我們的程序,最后在/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB目錄下生成我們的helloworld,然后我們可以從開始菜單里運(yùn)行模擬器的debug版,在模擬其中就可以運(yùn)行helloworld了。
2.2 使用VC6編譯Symbian 工程
我們直接打開運(yùn)行abld makefile vc6后生成的dsw文件,VC自動裝載轉(zhuǎn)化過的工程。按F7便可以直接編譯工程,編譯結(jié)果同樣放在/Symbian/6.1/Series60/Epoc32/Release/ wins/UDEB目錄中。然后我們打開模擬器debug 版,就可以看到我們編譯好的工程了。
3 打包
我們以SDK 1.2提供的HelloWorld為例,制作可以在手機(jī)中安裝的.SIS文件:
3.1.檢查程序
首先,在命令行格式下,進(jìn)入HelloWorld工程mmp文件所在目錄,輸入bldmake bldfiles和abld build wins udeb,然后打開模擬器,檢測程序有無錯(cuò)誤。
3.2.編譯工程
在程序無錯(cuò)誤后,在命令行輸入abld build armi urel 。執(zhí)行這個(gè)命令之后會在目錄d:/symbian/6.1/series60/epoc32/release/armi/urel生成HELLOWORLD.APP和HELLOWORLD.RSC兩個(gè)文件。
3.3.建立.pkg文件
在d:/Symbian/6.1/Series60/Series60Ex/helloworld/sis 用記事本建立或者修改工程的pkg文件,內(nèi)容如下:
; HelloWorld.pkg
;
;Language - standard language definitions
&EN
; standard SIS file header
#{"HelloWorld"},(0x10005B91),1,0,0
;Supports Series 60 v 1.2
(0x101F8202), 0, 0, 0, {"Series60ProductID"}
;
"d:/symbian/6.1/series60/epoc32/release/armi/urel/HelloWorld.APP"-"!:/system/apps/HelloWorld/HelloWorld.app"
"d:/symbian/6.1/series60/epoc32/release/armi/urel/HELLOWORLD.rSC"-"!:/system/apps/HelloWorld/HELLOWORLD.rSC"
其中,前面"d:/symbian/6.1/series60/epoc32/release/armi/urel/HELLOWORLD.rSC"是要打包安裝的文件,"!:/system/apps/HelloWorld/HELLOWORLD.rSC"是安裝的目標(biāo)位置。在其中要注意的是,我們在目標(biāo)位置中用“!”代替了實(shí)際的盤符。這樣做得好處是在用戶安裝的時(shí)候,手機(jī)系統(tǒng)會提示用戶選擇要安裝的位置,這就給了用戶更大的靈活度。另外,在Symbian 系統(tǒng)中,安裝的應(yīng)用程序默認(rèn)位置是“!:/system/apps ”。
編輯好pkg文件后,保存至相應(yīng)目錄。
3.4.打包程序
在命令行中,轉(zhuǎn)至pkg文件所在目錄,運(yùn)行命令makesis HelloW.pkg
總結(jié)
- 上一篇: 什么是Android Instant A
- 下一篇: import settings 错误