[转]DotNet for Symbian平台 (Nokia,Sony,Motorola等手机)

支持:NokiaSonyMotorola等手机。

支持:Symbian60 v3 及其以上。

支持:.net CF1SmartPhone2003类型项目。

支持:vs2003vs2005

 

现在也有些手机已经使用了Windows Mobile5HP6828),或者wm6HP512),在这些平台上我们可以使用.net来写程序。希望这也是一种趋势,越来越多的手机可能会选用wm6

不过,现行卖的手机中,也有很多是用Symbian操作系统的,比如诺基亚,索尼,摩托罗拉等。怎么能让.net程序也能运行在这些手机上呢?Red Five Labs提供了这样一种可能。

现在redfivelabs已经开发出第一版支持DotNot平台的程序“Net60Beta2”,支持Symbian60第三版及其以上版本,支持平台,可以使用vs2003vs2005开发。我的手机是Nokia 6210C(支持3GSymbian60第三版),正好符合这个条件,于是做了一些测试,果真把.net程序在我的手机上运行了起来。这个程序就是鼎鼎大名的“HelloWorld”。

 

wm6下边,我们只要把编译好的exe程序copy到手机上就能跑,但是在Symbian下边稍微麻烦一些,因为对于不熟悉手机写程序的人,要先弄清楚数字签名。

开发准备:程序的数字签名(产生. Sisx文件,直接的sis文件不能安装在手机上

需要事先准备的程序:

1Net60Beta2.msi:这一个需要到redfivelabshttp://www.redfivelabs.com/)下载。请先注册,然后他们验证之后会发给你邮件,让你去下载。这个程序安装之后会产生几个基本支持文件:Net60Beta2.sis(运行平台),CFAppLauncher.sis(启动exe程序的工具),一个Log Viewer等。

2DevCertRequest_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文件。

3Symbian Signed:这是一个数字签名的东西,先到这个网站注册一个帐户。然后再“My Symbian Signed”下找“Open Signed”(以前不是这个名字,很多教程上都写的是“'Developer Certificates”),然后在“Request”子菜单下边先提交你的.cer文件,然后再“MyDevCerts”下下载验证之后的.cer文件。有效期3年。

这个步骤主要的目的是产生一个有效的数字签名文件,给你想要安装的程序做数字签名

4signsis.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

这一步主要是产生具体的数字签名程序。有了这个程序,就可以把它安装在手机上了。

5genesis.exe(已经Net60Beta2安装目录里面了(可选):这一个是用来把DotNetexe程序包装成sis文件的工具。然后再把sis文件做成sisx文件(如上第34步所作),然后就可以安装在手机上了。(命令较复杂,genesis.exe /svg:helloworld.svg /shortcaption:HWorld /longcaption:"Hello World" /version:1.0 /vendor:"RedFiveLabs" /binary:"HelloWorld" /UID3:0xe1231234 /epoc32Root:dso)。之所以说这是可选的,原因就是你也可以不知作成sisx文件,因为----

6CFAppLauncher.sis(已经Net60Beta2安装目录里面了(可选):在安装Net60Beta2.msi时就有了,这个和Net60Beta2.sis一样,也需要先制作签名(第34步),然后安装到手机上。这一个可以和第5步交叉使用:如果你只是想测试,可以不必把exe程序做成sis—>sisx文件,直接把exe文件copy到手机上,用这个CFAppLauncher来加载exe程序执行就可以了。

注意:如果想简单一点,不注册自己的Symbian Signed账户,网上也有提供第34步合并在一起的一个有UI的工具“证书签名专家v2.2.1”(就是他事先已经申请了一个用户,给你在后台执行request,下载cer文件,执行signsis命令产生sisx文件等)。

 

安装运行平台

其实,在把数字签名搞定之后,剩下的基本上就很简单了。把制作好的Net60Beta2.sisx文件copy到手机上,安装就可以了。不过要注意的是,必须安装到手机卡上,不能安装在额外的存储卡上。

开发一个新程序HelloWorld

打开vs2003或者vs2005,新建 SmartPhone2003”(如果没有,请先安装Windows Mobile 6SDK)(我尝试过wm6类型的项目,不能运行)类型的项目“HelloWorld”。

在窗口上拖上去一个LabelText值为“HelloWorld”。

加一个菜单,Exit。代码:this.Close(); 就是关闭命令而已。

编译,完成。

运行HelloWorld

1:如果要发布这个HelloWorld程序,制作安装程序,就请按照第5步,把exe程序—>sis,然后按照34步,在转化成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还不能支持;

….

five.JPG

posted @ 2008-02-03 13:09  Jailu  阅读(565)  评论(0编辑  收藏  举报