Linux下运行手机游戏

    因为目前大多数手机都支持JAVA游戏,而从网上下载的JAVA游戏是否满足我们的需求呢?因此首先来模拟运行一下是非常必要的。在Windows环境下可以直接下载个手机模拟器,而在Linux下面有更加简单的方法。

    在此之前我们需要明确几个概念,SUN的JAVA版本从1.0发展到2.0直到目前的JDK6,其主要的JAVA版本分为三种,分别称为J2SE, J2ME, J2EE, 目前又修改叫法为JAVA SE, JAVE ME, JAVE EE.其分别对应标准版本,精简版本(Micro), 企业版本。分别对应不同的应用场合,一般情况下使用JAVA SE, 而对于手机之类的小型设备使用精简JAVA版本: JAVE ME, 对于大型应用采用JAVA EE.

    JAVA SE => JAVA Platform Standard Edition

    JAVE ME => JAVA Platform Micro Edition

    JAVA EE => JAVA Platform Enterprise Edition

    因为手机设备属于小型设备,因此我们应该选择JAVA ME版本,而SUN针对可连接设备又为JAVA ME专门定义了两种配置,分别称为CDC和CLDC. CDC对应于硬件规格略为强的设备(例如具备512k byte以上的存储空间,对供电需求略微宽松的信息家电等等), CLDC对应于更低功耗,更低需求的设备,一般手机属于CLDC设备。 实际上两者之间并没有明显的界限。

    CDC  =>  C

onnected Device Configuration

    CLDC =>  Connected Limited Device Configuration

    针对手机之类的移动设备,SUN又定义了一种接口规范,称为MIDP,手机上的游戏大部分符合该规范。

    MIDP =>  Mobile Information Device Profile

    因此如果我们需要运行手机上的JAVA小游戏,我们只需要下载一个JAVA ME的支持MIDP协议的JRE就可以了,SUN提供了JAVA ME的一个开发环境,称为WTK.(Wireless ToolKit), 里面包含JAVE ME的开发环境和一些例子程序,目前的2.5.2版本还支持MIDP 2.0, 正好满足我们的需求。

   WTK 2.5.2包含的API列表:

  • Mobile Service Architecture 1.0 (JSR 248)
  • Java Technology for the Wireless Industry 1.0 (JSR 185)
     
  • Connected Limited Device Configuration (CLDC) 1.1 (JSR 139)
  • Mobile Information Device Profile (MIDP) 2.1 (JSR 118)
     
  • PDA Optional Packages for the J2ME Platform (JSR 75)
  • Java APIs for Bluetooth (JSR 82)
  • Mobile Media API (MMAPI) 1.2 (JSR 135)
  • J2ME Web Services Specification (JSR 172)
  • Security and Trust Services API for J2ME (JSR 177)
  • Location API for J2ME (JSR 179)
  • SIP API for J2ME (JSR 180)
  • Mobile 3D Graphics API for J2ME (JSR 184)
  • Wireless Messaging API (WMA) 2.0 (JSR 205)
  • Content Handler API (JSR 211)
  • Scalable 2D Vector Graphics API for J2ME (JSR 226)
  • Payment API (JSR 229)
  • Advanced Multimedia Supplements (JSR 234)
  • Mobile Internationalization API (JSR 238)
  • Java Binding for OpenGL® ES (JSR 239)

   下载之后,将下载的文件 chmod +x 设为执行后,安装到合适的目录,例如/usr目录下,修改PATH定义,增加WTK的工具路径,例如:

   export PATH=/usr/WTK2.5.2/bin:$PATH

   重新启动后,运行ktoolbar将正常显示WTK的运行界面。此时你就可以运行WTK自带的一些例子程序并进而可以学习JAVE ME的相关编程了。

   而运行手机上的JAVA小游戏,也非常简单,例如某个游戏包含下面两个文件:

   173129.jad

   173129.jar

   运行runmidlet 173129.jad即可.

   如果运行时出现加载某个共享库失败的信息,可以使用chcon命令修改该库的Security。如下所示:

   chcon -t texrel_shlib_t  xxx.so