八进制

少年壮志无烟抽

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  240 随笔 :: 0 文章 :: 3330 评论 :: 14 引用

我对掌上电脑有兴趣已经好几年了,不过到现在都没能拥有一台实物,毕竟价格挺高的,而且也不是缺它不可的情况。今天在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目录,如下图所示。

eRCP-dir.gif
图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上的应用来说是至关重要的。

eRCP-hello-wm2003.gif
图2 eRCP例子在PocketPC上运行效果

posted on 2005-05-28 00:19 八进制 阅读(4341) 评论(17) 编辑 收藏

评论

刚刚在我的hp1940上面把eRCP Hello跑起来了,但是启动速度很慢,点击程序后要好几秒钟才看到画面。
 回复 引用   

#2楼[楼主] 2005-06-20 23:21 八进制      
是不是第一次启动会比较慢,以后会好点,因为要启动jvm
 回复 引用 查看   

不是,每次都慢 :(

还是打算弄个VS 2003来开发
 回复 引用   

#4楼 2005-08-24 10:45 Justin[未注册用户]
确实是J9虚拟机执行的速度很慢,用SUn的PJava会相对较快,但不知支不支持SWT。
 回复 引用   

#5楼 2005-12-28 13:21 LEL[未注册用户]
执行后提示这样信息:
An exception occurred while writing to the platform log:

java.io.UnsupportedEncodingException: UTF-8

at java.io.OutputStreamWriter.<init>(Unknown Source)

at org.eclipse.core.launcher.Main.openLogFile(Unknown Source)

at org.eclipse.core.launcher.Main.log(Unknown Source)

at org.eclipse.core.launcher.Main.run(Unknown Source)

at org.eclipse.core.launcher.Main.main(Unknown Source)

Logging to the console instead.

!ENTRY org.eclipse.core.launcher 4 0 2005-12-27 21:12:45.611

!MESSAGE Exception launching the Eclipse Platform:

An exception occurred while writing to the platform log:

java.io.UnsupportedEncodingException: UTF-8

at java.io.OutputStreamWriter.<init>(Unknown Source)

at org.eclipse.core.launcher.Main.openLogFile(Unknown Source)

at org.eclipse.core.launcher.Main.log(Unknown Source)

at org.eclipse.core.launcher.Main.run(Unknown Source)

at org.eclipse.core.launcher.Main.main(Unknown Source)

Logging to the console instead.

!STACK

java.lang.NullPointerException

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)

at java.lang.reflect.AccessibleObject.invokeL(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.eclipse.core.launcher.Main.invokeFramework(Unknown Source)

at org.eclipse.core.launcher.Main.basicRun(Unknown Source)

at org.eclipse.core.launcher.Main.run(Unknown Source)

at org.eclipse.core.launcher.Main.main(Unknown Source)
 回复 引用   

#6楼 2006-01-03 15:39 ibm[未注册用户]
?
 回复 引用   

#7楼 2006-02-13 09:54 deadcow[未注册用户]
请问:怎样修改j9foun链接文件里面的参数设置?
 回复 引用   

#8楼 2006-12-08 16:45 alexmajy[未注册用户]
按照搂住的做法去做,很奇怪,运行后没有任何界面出现,然后控制台显示finished,也没有报错。。。

BTW:An exception occurred while writing to the platform log:
的错误好像是由于拷贝eRCP是没有把目录的只读属性去掉的原因
 回复 引用   

#9楼[楼主] 2006-12-12 13:45 八进制      
可能,现在eRCP的版本已经更新很多了。
 回复 引用 查看   

#10楼 2007-05-31 13:56 yuan[未注册用户]
为什么我下不到这个IBM j9呢??怎么也找不到那cab个包...
急!能写详细点么?关于那个IBM j9的下载
 回复 引用   

#11楼[楼主] 2007-05-31 17:39 八进制      
似乎在这个地址http://www-306.ibm.com/software/wireless/wctme/bundle.html,也许要付费。
 回复 引用 查看   

#12楼 2007-12-24 10:40 vwpolo[未注册用户]
哪里有这些东西下载啊
 回复 引用   

#13楼[楼主] 2007-12-24 23:53 八进制      
这里http://www.eclipse.org/ercp/
 回复 引用 查看   

#14楼 2007-12-27 13:55 vwpolo[未注册用户]
请问下,我在SmartPhone中运行Storage Card\J9\bin\J9.exe的时候会出现下面这个异常:
JVMJ9VM011W Unable to load jclcldc10_23:Operation Failed:126
JVMEXECX013E Internal VM error:Failed to create Java VM
JVMEXECX014I Run \Storage Card\eRCP\bin\j9.exe -help for usage;
你对J9熟悉吗?是怎么回事啊
 回复 引用   

#15楼 2007-12-27 14:01 vwpolo[未注册用户]
虚拟机是什么类型的,好像有很多种啊,我装的是:
(CLDC 1.1_MIDP 2.0 for Windows Mobile 5.0 Smartphone Edition_ARM)ibm-weme-wm50-sp-arm-midp20_6.1.1.20061110-161633.exe
是不是这个的问题啊
 回复 引用   

#16楼[楼主] 2007-12-28 12:59 八进制      
记不太清楚了,印象里是IBM j9虚拟机。
 回复 引用 查看   

楼主,可有j9虚拟机,网上现在根本找不到。
 回复 引用