FootStep 3、Symbian基本-Symbian OS S60開發環境的搭建(以MS VC爲例)『整理』

1、安裝相關SDK及VC
Nokia根據手機的屏幕大小和價格高低把手機分成了多個系列,現在使用的系列有:Series 40、Series 60、Series 80 和Series 90。60系列採用Symbian os 6.1,然後又根據手機屏幕的特點對UI做了一些修改,這個被修改了的Symbian就被稱爲Nokia的60系列平臺。使用60系列的手機型號包括: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 網站提供的Series 60 SDK for Symbian OS Nokia Edition SDK最新版本是v1.2,Series 60 SDK for Symbian OS的最新版本是v2.1。
第二步:下載最新的Active Perl Script 安裝程序, 下載最新的J2RE(Java 2 Runtime Environment)。
第三步:安裝SDK,推薦爲Symbian開發單獨建一個目錄,例如d:/Symbian而不是使用C:/program files等這樣的目錄。
第四步:安裝Active Perl和J2RE,安裝到默認目錄即可。
第五步:檢查環境變量設定。打開系統環境變量tab,然後看看有沒有EPOCROOT,如果有的話,把它手動改成“/” 。改完之後應該是這個樣子的:
EPOCROOT = /
然後,在系統PATH中加入 /epoc32/tools目錄以及/epoc32/gcc/bin目錄就可以了。
實際上,Symbian SDK根本不用安裝,直接把epoc32目錄拷貝到一個機器上,然後照上述方法設定目錄和環境變量就可以了。

1.2 :配置VC
如果我們使用的是VC 6.0,我們要保證系統至少打了SP3補丁,否則系統會有警告提示。如果我們使用的是VS.NET2003, 我們就只能安裝Series 60 SDK for Symbian OS v2.1,因爲Series 60 SDK for Symbian OS Nokia Edition SDK v1.2在VS.NET2003無法正確建立工程。
如果要直接在vc6裏創建新項目,要把/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這個選項。   
如果要將已經建立好的工程導入到VC6.0中,比如我們將SDK中的例子HelloWorld轉換成一個VC6的項目,我們首先進入/Symbian/6.1/Series60/Series60Ex/HelloWorld目錄。在這裏我們可以看到,在Symbian中,一個Project通常是按inc, src, group等目錄組織,group目錄裏通常放的是項目文件,所以編譯時要先到這裏。用命令提示符模式進入該目錄下,然後執行:
bldmake bldfiles
這個命令會在group目錄下生成一個abld.bat的批處理文件,並且會在/Symbian /6.1/Series60/Epoc32/BUILD下生成/Symbian/6.1/Series60/Epoc32/BUILD/SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP這個目錄,並在最底層目錄下生成一堆 .make文件。
然後,我們在同一個目錄運行剛纔生成的abld.bat:
abld makefile vc6
這樣就會自動生成vc6的dsw文件,位置在/Symbian/6.1/Series60/Epoc32/BUILD/SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP/HELLOWORLD/WINS。然後我們就可以在VC6種打開這個Symbian工程了。

2. 編譯
我們可以直接使用SDK提供的工具編譯Symbian 工程,也可以使用VC6提供的集成環境來編譯轉化過的Symbian 工程。編譯的結果存放在/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB/Z/SYSTEM/apps目錄中。

2.1使用SDK提供的工具編譯Symbian 工程
我們在上一節的那個位置繼續輸入:
abld build wins udeb
這個命令會編譯我們的程序,最後在/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB目錄下生成我們的helloworld,然後我們可以從開始菜單裏運行模擬器的debug版,在模擬其中就可以運行helloworld了。

2.2 使用VC6編譯Symbian 工程
我們直接打開運行abld makefile vc6後生成的dsw文件,VC自動裝載轉化過的工程。按F7便可以直接編譯工程,編譯結果同樣放在/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB目錄中。然後我們打開模擬器debug 版,就可以看到我們編譯好的工程了。

3.在手機上運行程序
我們以SDK 1.2提供的HelloWorld爲例,製作可以在手機中安裝的.SIS文件:
3.1.檢查程序
首先,在命令行格式下,進入HelloWorld工程mmp文件所在目錄,輸入bldmake bldfiles和abld build wins udeb,然後打開模擬器,檢測程序有無錯誤。
3.2.編譯工程
在程序無錯誤後,在命令行輸入abld build armi urel 。執行這個命令之後會在目錄d:/symbian/6.1/series60/epoc32/release/armi/urel生成HELLOWORLD.APP和HELLOWORLD.RSC兩個文件。
3.3.建立.pkg文件
在d:/Symbian/6.1/Series60/Series60Ex/helloworld/sis  用記事本建立或者修改工程的pkg文件,內容如下:

; 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"是安裝的目標位置。在其中要注意的是,我們在目標位置中用“!”代替了實際的盤符。這樣做得好處是在用戶安裝的時候,手機系統會提示用戶選擇要安裝的位置,這就給了用戶更大的靈活度,當然也可以寫成絕對路徑。另外,在Symbian 系統中,安裝的應用程序默認位置是“!:/system/apps ”。
編輯好pkg文件後,保存至相應目錄。

3.4.打包
在命令行中,轉至pkg文件所在目錄,運行命令makesis HelloWorld.pkg

3.5. 上傳程序
用藍牙把打包好的程序上傳到手機上,安裝,ok,整個過程就算成功啦!

下面對關鍵點做一小結:
===================================
1、要記住的命令,按工程的處理順序:

bldmake bldfiles                -- DOS模式下,在工程的group目錄下執行,生成abld.bat,用於後繼的工程編譯
abld makefile vc6            -- 生成Visusl C++ 6.0的dsw與dsp工程文件
abld  build wins udeb  -- 生成模擬器上的unicode debug調試版本
abld  build armi urel        -- 生成手機上運行的unicode release版本
2、相關的幾個目錄:

生成Visusl C++ 6.0的dsw與dsp工程文件的目錄:
 /Symbian/6.1/Series60/Epoc32/BUILD/【項目所在的路徑名+/Group +/項目名稱 】/WINS
項目所在的路徑名:如果你的項目是在C:/Symbian_work/HelloWorld/Src下(在該目錄下的項目文件按inc, src, group等目錄組織),則生成Visusl C++ 6.0的dsw與dsp工程文件的目錄是:/Symbian/6.1/Series60/Epoc32/BUILD/Symbian_work/HelloWorld/Src/Group/HelloWorld/WINS下邊,啊,真夠深的,真不知道Symbian爲什麼搞這麼深的目錄!

模擬器unicode debug調試版本生成的程序文件目錄:
    /Symbian/6.1/Series60/Epoc32/Release/wins/UDEB/Z/SYSTEM/apps/工程名
模擬器epoc.exe文件目錄:
    /Symbian/6.1/Series60/Epoc32/Release/wins/udeb
生成手機上運行的unicode release版本的程序文件目錄:
    /symbian/6.1/series60/epoc32/release/armi/urel

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