Symbian開發(fā)入門指導(dǎo)
本文和大家重點(diǎn)學(xué)習(xí)一下Symbian開發(fā)的入門知識(shí),主要包括Symbian開發(fā)環(huán)境的安裝和配置等內(nèi)容,相信通過本文的學(xué)習(xí)你對(duì)Symbian開發(fā)一定會(huì)有深刻的認(rèn)識(shí),請(qǐng)看本文詳細(xì)介紹。
Symbian開發(fā)入門
這學(xué)期專業(yè)實(shí)踐要做一個(gè)關(guān)于SymbianS60的手機(jī)軟件,所以我選擇了CarbideV1.2OEM和S60SDK3rdFP1來作為自己的開發(fā)環(huán)境。
具體的環(huán)境搭配如下:
1.首先安裝Carbide,選擇OEM版本,至于License的話在網(wǎng)上可以查的出來,大家自己去找,然后會(huì)出現(xiàn)release_notes提示安裝Perl和SDK等.
2.安裝Perl,選擇activeperl5.6.1的版本安裝,否則會(huì)出現(xiàn)下面的網(wǎng)絡(luò)上面常見的問題:
使用Carbide用向?qū)陆薙ymbianOSC++Project,選擇3rdEd.GUIApplication模版,根據(jù)步驟建立了工程,選擇EmulatorDebug,編譯時(shí)出現(xiàn)下如問題:
make[1]:***Noruletomaketarget`\Symbian\9.2\S60_3rd_FP1_2\EPOC32\BUILD\Symbian\carbide\workspace\test\group\TEST\WINSCW\TEST.WINSCW'.Stop.testline0這樣的問題,如果選擇5.6.1的話就不會(huì)出現(xiàn)上面的問題。(所以軟件不是最新版本就是最好的阿!).
3.安裝SDK最好在他的默認(rèn)目錄,而且這幾個(gè)都是最好在一起,我選擇的是C盤安裝軟件和操作系統(tǒng),給了35G的大小。D盤存取數(shù)據(jù)。所以這些我都是安裝在他的默認(rèn)目錄下面。Carbide和Perl安裝在C盤programfiles.SDK就直接安裝在了C盤上面了。這樣的話基本上就差不多了。
4.打開Carbide,要將工作的空間選取在和自己安裝carbide的盤符相同的盤下面。否則的話會(huì)出現(xiàn)下面的錯(cuò)誤:
WARNING:EPOCROOTdoesnotspecifyanexistingdirectory
BLDMAKEERROR:Directory"\Symbian\9.2\S60_3rd_FP1\EPOC32\"doesnotexist
上面的是我在配置Symbian開發(fā)環(huán)境時(shí)候的一點(diǎn)經(jīng)驗(yàn)之談,希望能夠?qū)Υ蠹矣幸恍椭?,也歡迎大家給與指教,給我這個(gè)菜鳥一些幫助,在此先感謝大家了。
PS:我是一個(gè)菜鳥,也是剛開始學(xué)習(xí)Symbian開發(fā)相關(guān),所以對(duì)Symbian開發(fā)不太了解,之所以在這里寫博客是我發(fā)現(xiàn)里面有很多Symbian開發(fā)的高手,所以希望大家能夠給與我一些幫助,在此再次感謝了!
◆開發(fā)軟件來編譯程序,編寫程序。即IntegratedDevelopmentEnvironment(IDE),它包括編輯器,編譯器和連接器。
推薦用Nokia’sCarbide.c++ExpressEdition(basedontheEclipseIDE)或者VisualStudio.NET2003。
需要軟件開發(fā)工具包,即SoftwareDevelopmentKit(SDK),它允許你寫,創(chuàng)建程序?yàn)槟愕氖謾C(jī)。
對(duì)N73,需要S602ndEditionFP2version9.1introducedacompletebreakfromolderversions.
ToworkonSymbianOSversion9.1orlater,applicationsmustbeslightlymodifiedandrecompiled.
不同的Symbianos用戶界面userinterface(UI)是不一樣的。因此要選擇正確的SDK。
•S60rdEditionFeaturePack1-SymbianOSv9.2
•S603rdEdition-SymbianOSv9.1
•S602ndEditionFeaturePack3-SymbianOSv8.1
•S602ndEditionFeaturePack2-SymbianOSv8.0a
•S602ndEditionFeaturePack1-SymbianOSv7.0s
enhanced
•S602ndEdition-SymbianOSv7.0s
•S601stEdition-SymbianOSv6.1
由于我們的os是v9.1的,所以需要S603rdEdition。
可以在http://developer.symbian.com/main/tools/sdks/s60/index.jsp上下載
下載IDECodeWarriorDevelopmentStudioforSymbianos3.1(OEM,ProfessionalandPersonal)
下載地址為:http://www.forum.nokia.com/info/sw.nokia.com/id/4d2d8611-c490-4f6e-a931-
ea37ba4f040d/CodeWarrior_Development_Studio_for_Symbian_OS_Personal_Edition_Version_3_1.html
安裝其個(gè)人版,可試用90天。
安裝SDK
驗(yàn)證SDK的安裝
1、用devices命令設(shè)置S603rdEditionSDKforSymbianOSforC++作為默認(rèn)的設(shè)備
例如:devices-setdefault@S60_3rd:com.nokia.S60
2、到包含helloworldbasic的目錄下默認(rèn)安裝下為cdC:\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic
3、再進(jìn)到group目錄下,該目錄下包含bld.inf和helloworldbasic.mmp文件
4、驗(yàn)證編程環(huán)境
運(yùn)行—〉輸入cmd—〉輸入epoc—〉出現(xiàn)模擬器則表示安裝成功。
注:參看Getting_Started_final.pdf
◆Nokia根據(jù)手機(jī)的屏幕大小和價(jià)格高低把手機(jī)分成了多個(gè)系列,現(xiàn)在使用的系列有:Series40、Series60、Series80和Series90。60系列
采用Symbianos6.1,然后又根據(jù)手機(jī)屏幕的特點(diǎn)對(duì)UI做了一些修改,這個(gè)被修改了的Symbian就被稱為Nokia的60系列平臺(tái)。使用60系列的手
機(jī)型號(hào)包括:Nokia6670、Nokia6630、Nokia6260、NokiaN-GageQD™、Nokia7610、Nokia6620、Nokia3620、Nokia3660、
Nokia6600、Nokia3600、Nokia3650、Nokia7650、NokiaN-Gage™等。
下面我們就以60系列為例,介紹SDK的安裝過程。
2.1.1安裝SDK
第一步,到Nokia論壇注冊(cè),下載最新的SDK。Nokia網(wǎng)站提供的Series60SDKforSymbianOSNokiaEditionSDK最新版本是v1.2,Series
60SDKforSymbianOS的最新版本是v2.1。下載網(wǎng)址:http://www.forum.nokia.com/main/0,6566,034-4,00.html
第二步,到http://www.activestate.com網(wǎng)站下載最新的ActivePerlScript安裝程序。到http://www.java.com/en/download/manual.jsp
下載最新的J2RE。
第三步:安裝SDK,推薦為Symbian開發(fā)單獨(dú)建一個(gè)目錄,例如d:\Symbian而不是使用C:\programfiles等這樣的目錄。
第四步:安裝ActivePerl和J2RE,安裝到默認(rèn)目錄即可。
第五步:檢查環(huán)境變量設(shè)定。打開系統(tǒng)環(huán)境變量tab,然后看看有沒有EPOCROOT,如果有的話,把它手動(dòng)改成“\”。改完之后應(yīng)該是這個(gè)樣子的:
EPOCROOT=\
然后,在系統(tǒng)PATH中加入\epoc32\tools目錄以及\epoc32\gcc\bin目錄就可以了。
實(shí)際上,SymbianSDK根本不用安裝,直接把epoc32目錄拷貝到一個(gè)機(jī)器上,然后照上述方法設(shè)定目錄和環(huán)境變量就可以了。
2.1.2配置VC
如果我們使用的是VC6.0,我們要保證系統(tǒng)至少打了SP3補(bǔ)丁,否則系統(tǒng)會(huì)有警告提示。如果我們使用的是VS.NET2003,我們就只能安裝Series
60SDKforSymbianOSv2.1,因?yàn)镾eries60SDKforSymbianOSNokiaEditionSDKv1.2在VS.NET2003無法正確建立工程。
如果要直接在vc6里創(chuàng)建新項(xiàng)目,要把\Symbian\6.1\Series60\Series60Tools\ApplicationWizard目錄下的AvkonAppWiz.awx和
AVKONAPPWIZ.HLP文件拷貝到vc6的模板目錄C:\ProgramFiles\MicrosoftVisualStudio\Common\MSDev98\Template下。這樣我們就可以
在VC的新建工程中看到Series60AppWizardv1.9這個(gè)選項(xiàng).
填入ProjectName以后,確認(rèn)。一路“Next”,一個(gè)最簡(jiǎn)單的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í)行:
bldmakebldfiles
這個(gè)命令會(huì)在group目錄下生成一個(gè)abld.bat的批處理文件,并且會(huì)在\Symbian\6.1\Series60\Epoc32\BUILD下生成\Symbian\6.1\Series60
\Epoc32\BUILD\SYMBIAN\6.1\SERIES60\SERIES60EX\HELLOWORLD\GROUP這個(gè)目錄,并在最底層目錄下生成一堆.make文件。
然后,我們?cè)谕粋€(gè)目錄運(yùn)行剛才生成的abld.bat:
abldmakefilevc6
這樣就會(huì)自動(dòng)生成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工程
我們?cè)谏弦还?jié)的那個(gè)位置繼續(xù)輸入:abldbuildwinsudeb
這個(gè)命令會(huì)編譯我們的程序,最后在\Symbian\6.1\Series60\Epoc32\Release\wins\UDEB目錄下生成我們的helloworld,然后我們可以從開始
菜單里運(yùn)行模擬器的debug版,在模擬其中就可以運(yùn)行helloworld了。
2.2.2使用VC6編譯Symbian工程
我們直接打開運(yùn)行abldmakefilevc6后生成的dsw文件,VC自動(dòng)裝載轉(zhuǎn)化過的工程。按F7便可以直接編譯工程,編譯結(jié)果同樣放在
\Symbian\6.1\Series60\Epoc32\Release\wins\UDEB目錄中。然后我們打開模擬器debug版,就可以看到我們編譯好的工程了。
2.3打包
我們以SDK1.2提供的HelloWorld為例,制作可以在手機(jī)中安裝的.SIS文件:
2.3.1.檢查程序
首先,在命令行格式下,進(jìn)入HelloWorld工程mmp文件所在目錄,輸入bldmakebldfiles和abldbuildwinsudeb,然后打開模擬器,檢測(cè)程序有無錯(cuò)誤。
2.3.2.編譯工程
在程序無錯(cuò)誤后,在命令行輸入abldbuildarmiurel。執(zhí)行這個(gè)命令之后會(huì)在目錄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-standardlanguagedefinitions
- &EN
- ;standardSISfileheader
- #{"HelloWorld"},(0x10005B91),1,0,0
- ;SupportsSeries60v1.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)位置。在其中要注意的是,我們?cè)谀繕?biāo)位置中用“!”代替了實(shí)際的盤符。
這樣做得好處是在用戶安裝的時(shí)候,手機(jī)系統(tǒng)會(huì)提示用戶選擇要安裝的位置,這就給了用戶更大的靈活度。另外,在Symbian系統(tǒng)中,安裝的
應(yīng)用程序默認(rèn)位置是“!:\system\apps”。編輯好pkg文件后,保存至相應(yīng)目錄。
2.3.4.打包程序
在命令行中,轉(zhuǎn)至pkg文件所在目錄,運(yùn)行命令makesisHelloWorld.pkg。之后我們就在同一目錄下得到了打包好的.sis文件。
2.4手機(jī)測(cè)試
將打包好地.sis文件上傳至手機(jī)中,然后在手機(jī)的應(yīng)用程序管理器中就可以看到我們打包好的文件。選擇“安裝”命令,系統(tǒng)會(huì)提示用戶要安
裝的位置,選擇安裝位置后,我們制作的應(yīng)用程序就安裝到手機(jī)中了。
我們回到手機(jī)的主菜單,就會(huì)發(fā)現(xiàn)新安裝的HelloWorld應(yīng)用程序。打開運(yùn)行,結(jié)果和在模擬器中看到的基本是一樣的。