在Linux上使用MeeGo SDK进行Meego开发

移动开发
Meego开发有很多指导,你对Meego开发的概念是否比较熟悉,这里向大家简单介绍一下在Linux上使用MeeGoSDK,希望本文的介绍能让你有所收获。

本文和大家重点学习一下如何在Linux上使用MeeGo SDK进行Meego开发,Meego开发中MeeGo SDK由两部分构成,至于是哪两部分请看下文详细介绍。

在Linux上使用MeeGo SDK进行Meego开发

1介绍:

MeeGoSDK由以下部分构成:

1.一个MeeGochroot环境,这包含了一个基于Xephyr(http://www.freedesktop.org/wiki/Software/Xephyr)的MeeGo应用程序模拟器(仅支持Linux),一些在Xephyr里启动/停止MeeGo桌面的脚本,以及可以远程配置和部署MeeGo设备的QtCreator。

2.一个启动MeeGochroot环境,并运行模拟器和QtCreator的meego-sdk-chroot脚本。

要安装MeeGoSDK,最简单的方法是下载这些组件的打包版本。这将在下一节讨论。


2Meego开发系统要求:

要在Xephyr里运行MeeGo模拟器,你需要一个比较新的Linux发行版(例如Fedora11,Ubuntu9.10)以及Intel的硬件环境。硬件环境有以下要求:

*CPU:32bitIntel(r)Atom(tm)orIntel(r)Core(tm)2CPU(supportforSSSE3)

*注意:MeeGo模拟器无法在不支持SSSE3的CPU上运行。

*一块兼容的Intel显卡。GMA-500,Nvidia,以及ATI的芯片组都无法提供支持

(译注:这是MeeGo模拟器的要求,不是SDK的要求。我可以在AMD处理器和NV显卡的机器上,运行MeeGoSDK,并正常编译/调试程序。)


3安装MeeGochroot环境

MeeGochroot压缩包是一个大文件(接近800M)。它不仅包括了MeeGo自身的所有库文件,也包括一些其他有用的东西(Xephyr,scripts,QtCreator)。

下载MeeGochroot压缩包文件:wgethttp://download3.meego.com/meego-sdk-0524.tar.bz2

解压MeeGochroot压缩包文件:tarjxvfmeego-sdk-0524.tar.bz2

//另一个方案是自己创建一个MeeGochroot,参见BuildingaMeeGochrootonLinux。


4安装meego-sdk-chroot脚本

meego-sdk-chroot脚本会设置chroot环境的挂载点,然后用恰当的方式启动root环境;Meego开发在离开chroot环境时,它也会尝试正确地卸载整个环境,并清除在chroot环境中启动的进程。

下载:

wgethttp://sdk.download.location/meego-sdk-chroot

给脚本可执行权限:

chmod+xmeego-sdk-chroot

移动到/usr/bin:

mvmeego-sdk-chroot/usr/bin

为模拟器配置host

下一步,是配置host的X环境,让模拟器(在chroot环境下运行)可以正确地显示在普通用户的屏幕上:

xhost+local:(在这里我运行xhost+local:不成功,我用xhost+SI:localuser:root

xhost+SI:localuser:你的用户名。OK)

(每次重启后,在运行模拟器和QtCreator之前你都需要执行这一步)


5Meego开发进入MeeGochroot环境

meego-sdk-chroot脚本将设置一个MeeGochroot环境,并给你一个该环境下的shell:

sudomeego-sdk-chroot~/meego-sdk-0524

(用你的chroot目录代替上面的'~/meego-sdk-0524)

注意,这个脚本使用了chroot命令。有些时候,root用户无法在PATH环境变量里定位这个命令(在Fedora里,chroot命令在/usr/sbin路径下)。你可以在meego-sdk-chroot脚本的顶部添加一行alias,以解决这个问题:

aliaschroot='/usr/sbin/chroot'

脚本运行后,会输出下面这样的内容:

 

  1. mount--bind/proc/home/ell/meego-sdk-0524/procmount--bind/sys/home/ell/meego-sdk  
  2.  
  3. -0524/sysmount--bind/dev/home/ell/meego-sdk-0524/devmount--bind/dev/pts/home/ell/meego-sdk  
  4.  
  5. -0524/dev/ptsmount--bind/tmp/home/ell/meego-sdk-0524/tmpmount--bind/var/lib/dbus/home/ell/meego-sdk  
  6.  
  7. -0524/var/lib/dbusmount--bind/var/run/dbus/home/ell/meego-sdk  
  8.  
  9. -0524/var/run/dbuscp/etc/resolv.conf/home/ell/meego-sdk  
  10.  
  11. -0524/etc/resolv.confroot@meego-netbook-sdk:/#  
  12.  

 


安装其他软件

你可以在chroot环境下正常安装软件(和***的netbook镜像一样)。

进入chroot环境,然后执行:zypperinstall<package>

下面这个命令可以将整个MeeGo镜像更新到***版本:

 

  1. zypperdist-upgrade  
  2.  
  3. --------------------------------------------------------------------------------  
  4.  
  5. SettinghostdisplaybeforerunningSimulator  
  6. XephyrdoesnotseeDISPLAYenvvariablefromhostsystemsinceitisrunningaschroot.Aschroot,setDISPLAYvariablebeforerunning"startmeego"thatcallsXephyr.  
  7.  
  8.  
  9. exportDISPLAY=:0--------------------------------------------------------------------------------  
  10.  

 


6运行模拟器

在chroot环境下,以root的身份执行:startmeego&

这将启动Xephyr服务器,并运行一个脚本。这个脚本在Xephyr里启动一个MeeGo桌面。

如果你想在chroot环境里启动一个程序,并显示在模拟器窗口里,你可以:

DISPLAY=:2glxgears(用你想启动的程序名代替glxgears)

在模拟器里Debugging

如果你的模拟器出现了问题,可以使用debug脚本,看看具体发生了些什么:startmeego-debug

这个脚本会在控制台输出一些信息,这些信息应该能给你问题的线索。


模拟器里的NetbookUX界面

它看起来像这样:(缺图)

已发现的问题:*.一些依赖DBus的工具条组件(比如电池,网络)无法报告设备的工作状态。

 7停止模拟器

要停止模拟器,只需要离开chrootshell:exit

这会停止模拟器启动的所有进程,并卸载chroot环境使用的路径。这会输出下面这样的信息:

 

  1. exitumount/home/ell/meego-sdk-0524/procumount/home/ell/meego-sdk  
  2.  
  3. -0524/sysumount/home/ell/meego-sdk-0524/dev/ptsumount/home/ell/meego-sdk  
  4.  
  5. -0524/devumount/home/ell/meego-sdk-0524/tmpumount/home/ell/meego-sdk  
  6.  
  7. -0524/var/lib/dbusumount/home/ell/meego-sdk-0524/var/run/dbus  
  8.  

 

 

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-11-17 09:29:31

linux Fedora 13Ubuntu 10.0

2010-11-18 14:47:49

2010-09-15 09:00:21

MeeGo TouchQT SDKMeeGo

2010-06-22 13:46:39

Meego开发

2010-08-26 17:22:30

MeeGoAndroid

2011-06-16 16:41:20

Qt MeeGo SDK

2011-05-20 15:00:15

MeeGo 1.2MeeGo英特尔

2010-10-15 09:52:00

XephyrMeeGoQt

2011-05-24 09:15:49

红旗LinuxMeeGo 1.2

2010-05-22 14:04:44

Meego开发

2010-05-12 14:12:44

Meego开发

2011-06-16 16:52:21

MeeGo 开发

2010-06-21 16:39:14

2010-10-15 09:39:22

MeeGoQt

2010-05-02 14:29:15

Meego开发

2010-07-12 13:19:41

Meego开发

2010-07-22 12:25:58

Meego开发

2010-04-12 15:12:57

Meego开发

2010-06-22 13:56:24

Meego开发

2010-07-02 13:12:12

Meego开发
点赞
收藏

51CTO技术栈公众号