[转]DotNet for Symbian平台 (Nokia,Sony,Motorola等手机)
支持:Nokia,Sony,Motorola等手機。
支持:Symbian60 v3 及其以上。
支持:.net CF1,SmartPhone2003類型項目。
支持:vs2003,vs2005
?
現在也有些手機已經使用了Windows Mobile5(HP6828),或者wm6(HP512),在這些平臺上我們可以使用.net來寫程序。希望這也是一種趨勢,越來越多的手機可能會選用wm6。
不過,現行賣的手機中,也有很多是用Symbian操作系統的,比如諾基亞,索尼,摩托羅拉等。怎么能讓.net程序也能運行在這些手機上呢?Red Five Labs提供了這樣一種可能。
現在redfivelabs已經開發出第一版支持DotNot平臺的程序“Net60Beta2”,支持Symbian60第三版及其以上版本,支持平臺,可以使用vs2003和vs2005開發。我的手機是Nokia 6210C(支持3G,Symbian60第三版),正好符合這個條件,于是做了一些測試,果真把.net程序在我的手機上運行了起來。這個程序就是鼎鼎大名的“HelloWorld”。
?
在wm6下邊,我們只要把編譯好的exe程序copy到手機上就能跑,但是在Symbian下邊稍微麻煩一些,因為對于不熟悉手機寫程序的人,要先弄清楚數字簽名。
開發準備:程序的數字簽名(產生. Sisx文件,直接的sis文件不能安裝在手機上)
需要事先準備的程序:
1:Net60Beta2.msi:這一個需要到redfivelabs(http://www.redfivelabs.com/)下載。請先注冊,然后他們驗證之后會發給你郵件,讓你去下載。這個程序安裝之后會產生幾個基本支持文件:Net60Beta2.sis(運行平臺),CFAppLauncher.sis(啟動exe程序的工具),一個Log Viewer等。
2:DevCertRequest_windows.exe:到這里(direct link)直接下載,然后安裝。這個程序是用來生成.csr,.key等文件的。(具體的做法在FiveLabsNet60的幫助文件里有)
?? 2.1:輸出文件名隨意寫,無后綴。Next
?? 2.2:'ACS Pub ID available '里面選擇 “No”;KeyFile可以隨便,比如c:\Kokia602.key;并且設置一個password。這個在生成.sisx簽名時用到。Next
?? 2.3:獲得“EMEI”,在手機上輸入“*#06#”就可以獲得一個15-20位的序列號。Next
?? 2.4:選擇所有“Application Capabilities”。Next
這個步驟的主要目的是根據你自己的手機序列號生產一個待驗證的csr文件。
3:Symbian Signed:這是一個數字簽名的東西,先到這個網站注冊一個帳戶。然后再“My Symbian Signed”下找“Open Signed”(以前不是這個名字,很多教程上都寫的是“'Developer Certificates”),然后在“Request”子菜單下邊先提交你的.cer文件,然后再“MyDevCerts”下下載驗證之后的.cer文件。有效期3年。
這個步驟主要的目的是產生一個有效的數字簽名文件,給你想要安裝的程序做數字簽名
4:signsis.exe(到網上下載去吧):這個就是用來給程序制作數字簽名的工具。這是一個命令行工具,命令如下:signsis -s "c:\Program Files\Red Five Labs\Net60 Beta 2\Net60Beta2.sis" Net60Beta2.sisx "NokiaN602.cer" "NokiaN602.key" password
其中第一個參數是要簽名的源程序,第二個是簽名之后的程序名字,第三個是Symbian Signed驗證之后的cer文件,第四個是生成.csr文件用到的password
這一步主要是產生具體的數字簽名程序。有了這個程序,就可以把它安裝在手機上了。
5:genesis.exe(已經Net60Beta2安裝目錄里面了)(可選):這一個是用來把DotNet的exe程序包裝成sis文件的工具。然后再把sis文件做成sisx文件(如上第3、4步所作),然后就可以安裝在手機上了。(命令較復雜,genesis.exe /svg:helloworld.svg /shortcaption:HWorld /longcaption:"Hello World" /version:1.0 /vendor:"RedFiveLabs" /binary:"HelloWorld" /UID3:0xe1231234 /epoc32Root:dso)。之所以說這是可選的,原因就是你也可以不知作成sisx文件,因為----
6:CFAppLauncher.sis(已經Net60Beta2安裝目錄里面了)(可選):在安裝Net60Beta2.msi時就有了,這個和Net60Beta2.sis一樣,也需要先制作簽名(第3、4步),然后安裝到手機上。這一個可以和第5步交叉使用:如果你只是想測試,可以不必把exe程序做成sis—>sisx文件,直接把exe文件copy到手機上,用這個CFAppLauncher來加載exe程序執行就可以了。
注意:如果想簡單一點,不注冊自己的Symbian Signed賬戶,網上也有提供第3、4步合并在一起的一個有UI的工具“證書簽名專家v2.2.1”(就是他事先已經申請了一個用戶,給你在后臺執行request,下載cer文件,執行signsis命令產生sisx文件等)。
?
安裝運行平臺:
其實,在把數字簽名搞定之后,剩下的基本上就很簡單了。把制作好的Net60Beta2.sisx文件copy到手機上,安裝就可以了。不過要注意的是,必須安裝到手機卡上,不能安裝在額外的存儲卡上。
開發一個新程序HelloWorld:
打開vs2003或者vs2005,新建 “SmartPhone2003”(如果沒有,請先安裝Windows Mobile 6的SDK)(我嘗試過wm6類型的項目,不能運行)類型的項目“HelloWorld”。
在窗口上拖上去一個Label,Text值為“HelloWorld”。
加一個菜單,Exit。代碼:this.Close(); 就是關閉命令而已。
編譯,完成。
運行HelloWorld :
1:如果要發布這個HelloWorld程序,制作安裝程序,就請按照第5步,把exe程序—>sis,然后按照3、4步,在轉化成sisx程序。Copy到手機,安裝執行。
2:如果只是想測試一下,安裝CFAppLauncher到手機(一次就可以了),然后直接copy生成的exe文件,到手機的“c:\Data\FiveLabs\App”目錄下邊。啟動CFAppLauncher,就可以運行exe程序了。
查看運行日志:
在手機的“c:\Data\FiveLabs\Log”目錄里有程序運行的日志。把日志copy出來,放到電腦上的“C:\Temp”目錄下,然后運行Log Viewer(安裝redfivelabs時就有了)就可以看見了。
卸載:
exe不用卸載,刪除即可。
Sisx文件需要卸載
?
問題:
速度慢;
vs2008尚未測試;
.net cf2還不能支持;
….
轉載于:https://www.cnblogs.com/jailu/archive/2008/02/03/1063473.html
總結
以上是生活随笔為你收集整理的[转]DotNet for Symbian平台 (Nokia,Sony,Motorola等手机)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 理解 Delphi 的类(十一) - 深
- 下一篇: 实验迁移通知