DotNet for Symbian平台实战

支持: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还不能支持;

你可能感兴趣的:(Symbian)