在PC上调试应用程序比较在小机上方便得多,所以我们常常在PC上模拟运行手机软件,直到比较稳定后才到小机上测试。在PC上建立手机模拟运行环境是必不可少的,幸好在linux下,要建立手机模拟运行环境非常简单。本文介绍一下如何使用matchbox-nest建立手机模拟运行环境,这种方法适用于所有用QT、GTK+和DirectFB等可以将显示定向到X11上的系统。
这个模拟环境的工作原理很简单:
输入设备:对鼠标支持是直接的,X11会把鼠标事件转发给模拟器内的窗口。对模拟键盘的支持是通过X11的Xtest扩展模块来实现的,Xtest本来是用于X11测试的,它可以模拟按键事件,把该事件发送给X11服务器。
输出设备:即显示输出,matchbox-nest运行了一个Xnest,它的位置和大小就是模拟的设备的屏幕的位置和大小。Xnest模拟了一个X11服务器,它支持X11所有的功能,但是它把显示输出定向到一个窗口上。让应用程序在Xnest模拟的X11服务器上运行,即所有应用程序都显示在一个指定的窗口上,这就达到了模拟的效果。
1. 安装Xnest软件包,它在FC第二张光盘上。
rpm –ivh xorg-x11-Xnest-6.8.2-31.i386.rpm
2. 下载matchbox-nest软件包。
libmatchbox-1.9.tar.bz2
matchbox-nest-0.3.tar.bz2
3. 编译安装matchbox-nest软件包
[root@localhost pcemu]# tar jxvf /mnt/hgfs/linux/gui/libmatchbox-1.9.tar.bz2
[root@localhost pcemu]# tar jxvf /mnt/hgfs/linux/gui/libmatchbox-1.9.tar.bz2
[root@localhost pcemu]# cd libmatchbox-1.9/
[root@localhost libmatchbox-1.9]# ./configure --x-includes=/usr/X11R6/include/ --x-libraries=/usr/X11R6/lib/
[root@localhost libmatchbox-1.9]# make;make install
[root@localhost libmatchbox-1.9]# cd ../matchbox-nest-0.3/
[root@localhost matchbox-nest-0.3]# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
[root@localhost matchbox-nest-0.3]# ./configure --x-includes=/usr/X11R6/include/ --x-libraries=/usr/X11R6/lib/
[root@localhost matchbox-nest-0.3]# make;make install
4. 修改配置文件
[root@localhost matchbox-nest-0.3]# cd /usr/local/share/matchbox-nest/
[root@localhost matchbox-nest]# cp ipaq3800.xml se.xml
[root@localhost matchbox-nest]# cp /mnt/hgfs/linux/se.png .
编辑se.xml,设置模拟器的大小、屏幕位置和按键位置。
5. 运行模拟器
[root@localhost matchbox-nest]# export LD_LIBRARY_PATH=/usr/local/lib
[root@localhost matchbox-nest]# export DISPLAY=:0
[root@localhost matchbox-nest]# matchbox-nest -d se.xml
6. 运行应用程序。
[root@localhost lib]# export DISPLAY=:1
[root@localhost lib]# xcalc
(Xnest模拟的X11服务器默认的DISPLAY设置为:1,可以通过它的命令行参数调整)
7. 外观效果
~~end~~
作者联系方式:李先静 <xianjimli at hotmail dot com>