让我试试”eRCP”

我对掌上电脑有兴趣已经好几年了,不过到现在都没能拥有一台实物,毕竟价格挺高的,而且也不是缺它不可的情况。今天在Eclipse网站上下载了一个eRCP,这好象是去年底开始的新项目,是Eclipse RCP向嵌入式应用的发展,相当于对RCP中各个组成部分的精简实现,因为那些设备对应用程序的大小十分敏感。

由于以前没有实际做过这方面的开发,对掌上电脑的使用也不了解,所以让eRCP自带的例子在模拟器上运行起来还花了些功夫,主要是环境麻烦点,这里记下来以免下次忘记,有一些链接我感觉还是比较有用的。

首先从eclipse.org/ercp下载eRCP程序包,它是一个只有4M多的.zip文件,打开一看里面包含了x86(即我们大部分人用的PC机)、wm2003(MS Windows Mobile 2003)和series80(Symbian OS series80)这三种环境的支持,其中前二者的每一个文件夹的结构都和标准RCP应用程序差不多,在eRCP目录下是startup.jar和一个链接文件,然后有plugins和configuration目录;后者这种操作系统我不熟悉,目录里包含的主要是两个.sis文件。

在每个版本里都包含了一个很简单的例子,我先在电脑上试了一下x86版本,因为机器上已经装有jre,所以只要系统path变量里有java.exe所在路径,直接运行j2se.bat即可。(这里还有点问题,在公司的电脑上一切正常,但在我笔记本上提示“An unexpected exception has been detected in native code outside the VM.”,原因未知。)

因为没有掌上电脑,所以要下载一个模拟器,其实搞开发用模拟器应该比较方便。想起前几天在Hi!PDA上看到微软新出了一个wm2003模拟器(查看原贴,下载地址在这里),这回正好用来当环境!还要下载一个ActiveSync软件用来同步和控制PocketPC,同步这个模拟器的方法在原贴里已经有人提到,这里就不重复了,后面一些步骤须要把电脑里的文件复制到PocketPC上就可以利用ActiveSync的Explorer功能。

然后要下载一个PocketPC上的java环境,比较常用的是IBM的j9虚拟机,下载地址在这里(需要登录),下载页面会有很多个文件,不过只下载名称以“weme-wm2003-arm-ppro10”开头(Personal Profile)的那个.exe或.bin文件就够了。在电脑上运行这个程序,会得到一个jre以及一些.cab文件,把名为weme-ppro10-wm2003-arm_22.cab的文件(在我的电脑上该文件位于“C:\Program Files\IBM\WEME\572\WM2003\arm\PPro10\cab”目录)复制到PocketPC上运行,就会在PocketPC上安装java运行环境了。

现在要把eRCP程序包里wm2003那部分复制到PocketPC的根目录,注意要复制的目录从eRCP开始,即复制后在PocketPC上形成\eRCP目录,如下图所示。

图1 从电脑里把wm2003下的eRCP目录复制到\下

不过现在还不能直接点j9foun链接,因为我们在PocketPC上安装的是j9ppro,链接里的路径和参数都是无效的。解决方法是新建(或修改它为)一个链接把原来内容里的两处foun都改为ppro,修改后如下:

37#”\Program Files\J9\PPRO10\bin\j9.exe” -jcl:ppro10 -cp \eRCP\startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ercp.example.ercpHello.ercpHello -console

假设新的链接名为j9ppro,这时就可以点它运行eRCP例子程序了。执行画面如下图所示。我感觉在模拟器上运行速度慢了许多,不知道在真机上效果会是怎样的,应该会有所提高,毕竟执行速度对PocketPC上的应用来说是至关重要的。

图2 eRCP例子在PocketPC上运行效果