当前位置: 首页 > 工具软件 > moblin > 使用案例 >

Moblin开发库

蒋胡非
2023-12-01

 

开发库

简介

Moblin Image Creator 允许你在目标中安装相关的程序组、捆绑包,称之为功能集” (fset) 。它们包括一些库和工具,能够为应用程序开发、系统配置、本地化等等,提供不同类型的功能性运用。这些也和普通的类和工具一样,你必须为 Moblin 应用程序开发安装它们到目标上。本指南将描述和解释可能需要或必须用到的 fset

该文档假定读者具备下列知识:

  • 基础 Linux 知识
  • 了解 MID
  • MIC 基础知识

该文档分成 2 部分

  • 第一部分介绍 MIC 中的 fset 和一些基本 fset
  • 第二部分描述在 Moblin 应用程序开发中可能需要的独立包(库和工具)。

MIC 中的功能集

该部分描述如何安装功能集( fset )到你的目标映像。

•  概念

在使用 MIC 创建目标后,可增加一个或多个 fset 到目标。 Fset 是一捆独立包,用来添加高级功能。有些是对于特定目标的开发、系统配置、本地化,有些 fset 依赖其它 fset 。如果你选择安装一个 fset 需要依赖其它 fset MIC 将自动安装这些所依赖的 fset

•  功能集配置

当使用 MIC 去创建映像,基于你设备的物理架构,选择不同平台构架构。例如, Samsung Q1 Ultra* 是当前建立的 McCaslin 低能耗 Intel 架构( LPIA )。如果你选择平台为 mccaslin-lpia MIC 将允许你仅安装该平台相应的 fset 。有些 fset 可用于所有架构,另一些则对应于特定设备。

•  对于每个平台,可用 fset 的详细信息描述在 fset 配置文件中。通过阅读你平台上的这些特殊文件,你可以依照需要添加 fset 。这些文件通常放在工作站 /usr/share/pdk/platforms/[chosen-platform]/fsets/base.fset 目录中。例如,如果你目标平台是 menlow-lpia fset 配置文件将位于 /usr/share/pdk/platforms/menlow-lpia/fsets/base.fset .

这是名为 Core fset menlow-lpia 平台的 base.fset 中描述:

[Core]
DESC=Fundamental fset that provides a root filesystem that uses the Ubuntu* kernel
PKGS=busybox-initramfs initramfs-tools pm-utils vbetool usplash-theme-ubuntu dosfstools psmisc
DEBUG_PKGS=man-database manpages openssh-client openssh-server
DEPS=ubuntu-kernel|moblin-kernel

 

在文中:

"[Core]" fset 名称,以方括号分隔表示

"DESC=..."

该域是 fset 的面貌摘要描述

"PKGS=..."

该域列出此 fset 所有包;在添加此 fset 到目标时,这些包将通过 apt yum ( 依靠你使用的包管理器 ) 被自动安装

"DEBUG_PKGS=..."

该域列出在添加 fset 时,如果选择 "Include Debug Packages (if any)" ,将被安装的包。

"DEPS=..."

该域说明名为 Core fset 所依赖的 fset 。此前这些 fset 没有添加到目标,将在添加 Core 时自动添加。

 
基本功能集

某些 fset 被普遍使用,因为他们包含在大多数基本包里,或者包含在大多用户需要的多个包里。另一些 fset 是非常重要的,因为它们提供一个非常特殊的功能。下列部分描述这些 fset 的内容。
 
亚洲字体

fset 添加用来浏览中国、日本和韩国网站的字体,例如中文 Unicode 字体 Mingti ,朝鲜文 Un series 字体。此 fset 依赖 core ,可用到所有平台。
Core

这是用来提供基本文件系统的基础 fset 。当前,在 MIC 上可用于所有平台。

menlow-lpia 平台举例,当使用 Ubuntu-Kernel fset 时,此 fset 使用 Ubuntu 内核提供根文件系统。它包含下列特定包:

包名

包描述

busybox-initramfs

一个简单独立 shell ,用来提供基础应用程序所需要的 initramfs

initramfs-tools

Linux kernel 2.6 包,创建和引导 initramfs 的工具

pm-utils

LPIA 下电源管理应用和脚本

vbetool

运行实时模式视频 BIOS 解码去改变硬件状态的工具

usplash-theme-ubuntu

Ubuntu 的桌面主题

dosfstools

LINUX 下的硬盘或磁盘创建和检查 MS-DOS FAT 文件系统的应用

psmisc

使用 proc 文件系统的应用

开发工具

在目标文件系统上开发 moblin 应用程序时,推荐添加名为 Developer-Tools fset ,来安装必须的开发包。

fset 依赖 Core ,可用于所有平台。包含下列 fset

包名

包描述

ubuntu-mobile-dev

Ubuntu Mobile 开发环境

libtool

通用库支持脚本

autoconf

自动配置脚本生成器

automake

产生 GNU 标准适应 Makefiles 工具

hildon-desktop-dev

Hildon 桌面开发文件,它是植入设备的桌面环境

man

在线参考手册接口

manpages

使用 GNU/Linux 系统的手册页面

curl

用来从 HTTP HTTPS FTP 服务器获取文件的工具

python-dev

Python 的头文件和静态库,它是一个交互式高级面向对象语言

dh-make

转换源文件到 Debian 包源的工具

设备配置

设备配置相关 fset 提供特殊设备的配置文件。这些 fset 通常以 [your device]-Config 作为标题。目前, MIC 拥有 Samsung-Q1-Ultra-Config CrownBeach-Config 两个 fset ,可分别用于所有 McCaslin Menlow 平台。两种设备配置 fset 均依赖于 Core
GNOME-Mobile

fset 提供 GNOME 构成组件,用以建立移动 Linux 堆栈。此包主要包括: mobile X window system-related packages device drivers libraries and python bindings of GStreamer* D-Bus GTK telepathy-related packages GNOME menus icon theme-related packages
 

fset 依赖设备配置 fset 。例如,在 menlow-lpia 平台上,该 fset 依赖名为 CrownBeach-Config fset 。此 fset 可用于所有平台,只有微小的差别。 menlow-lpia 平台序列的 GNOME-Mobile fset 包含下列要添加的包:

包名

包描述

libdrm2

本库提供用户空间接口到内核 DRM 服务

xf86-video-psb / xserver-xorg-video-psb

Poulsbo 2D 图形驱动

 

全部移动堆栈带有或不带有所有权

全部移动堆栈拥有基础 fset 集合,包括 Core 设备配置 fset ,等等。它还拥有读取 X 窗口、 Hildon 和引导移动设备到主屏所需要的全部组件。因此,为了方便,它在目标中安装了大多数用户需要的基础 fset

全部移动堆栈带有和不带有所有权的区别,是前者包含额外的包用来为 Netscape Mozilla-based 浏览器下载和安装 Adobe Flash* Player 插件。

全部移动堆栈 fset 通常以 [your device]-Full-Mobile-Stack or [your device]-Full-Mobile-Stack-with-Proprietary 为标题。当前, MIC 拥有下列 fset 可用语不同平台:
Samsung-Full-Mobile-Stack , Samsung-Full-Mobile-Stack-with-Proprietary , CrownBeach-Full-Mobile-Stack , CrownBeach-Full-Mobile-Stack-with-Proprietary , Moblin-CrownBeach-Full-Mobile-Stack , Moblin-CrownBeach-Full-Mobile-Stack-with-Proprietary .
 
Moblin 开发包

这部分更深层次描述某些普遍用于 Moblin 应用程序开发的特殊库。有的已经包含在名为 Developer-Tools fset 中。
Hildon

Hildon
,一种 Maemo GUI 应用程序框架,它基于 GTK+ ,还有一些技术来自 GNOME 框架。 Hildon 包含某些 GTK+ 增进,使它更适合应用在移动设备。更多 Hildon 详细描述可在 这里 找到。
Moblin
通常使用 Hildon 作为应用程序框架。下面是你需要为 Moblin 应用程序开发安装的三大 Hildon 库。

  • libhildon: 该库包含用以 Moblin 应用程序的窗口小部件聚集。它提供标准 GTK+ 的增进,用来适应特殊移动功能和提供更多图形。它将在添加名为 Developer-Tools fset 时自动获得安装。
  • libhildondesktop: 该库是手持设备的桌面环境。提供包括任务导航,状态条标签(例如显示电池 / 无线信息)和系统菜单等等特征。在 Moblin 中, "Home" "Marquee" 同样基于 libhildondesktop 开发。它将在添加名为 Developer-Tools fset 时自动获得安装。
  • libhildonfm: 该库是 Hildon 文件管理器,基于 GNOME VFS 。它为本地和远程 / internet 文件管理提供统一管理机制。 Hildon 文件管理库包含易用和内建对象,像标准 Hildon 文件选择 / 选取对话框,文件容器窗口部件,和查询文件信息和属性能力。

你可以直接使用 apt yum (依靠你使用的包管理器)安装 Hildon 开发文件。例如,当使用 apt 安装开发文件的三大 Hildon 库,可运行 apt-get install libhildon-1-dev libhildondesktop-dev libhildonfm2-dev
GStreamer

GStreamer
是创建流媒体应用程序的框架。该框架被设计用来制造易写应用程序修正,从简单 Ogg/Vorbis 录音重放到复杂音频(混合)和视频(非线性编辑)进程。
最重要的 GStreame 用途是媒体播放器。 GStreamer 已经包含建立媒体播放器的组件,可支持非常多的格式。开发者可通过干净、通用接口编写简单插件 [1] ,添加新代码和过滤器。
更多文档能在 http://gstreamer.freedesktop.org/ 被找到。你可以从该站点下载 GStreamer 包。同样,你也可以使用 apt yum 安装 GStreamer 。例如,使用 apt 安装 GStreamer 核心开发文件时,你可以运行 apt-get install libgstreamer0.10-dev
Helix

Helix
GStreamer 非常相似,也是一个操作视频、音频的编码、同步和其它进程的媒体框架。它是交叉平台( Symbian*, Linux*, Windows*, Solaris*, Mac*, 等等),发起人是 Real 网络公司。它拥有很多成功的模型(如媒体播放器)在手持设备上。与 GStreamer 相比, Helix 支持 DRM (数子版权管理) [2] 。更多详细信息见: http://helixcommunity.org/
为开发建立 Helix 引擎在 Moblin 目标文件系统,可参照 本文档 指示。
D-Bus 相关库

D-Bus
是一个管理总线系统,确切说,是使应用程序与其它应用程序对话的一种简单方法。另外在进程间通信中, D-Bus 帮助调整进程生命周期;使它简单和可靠的编写单一实例应用程序或后台程序,并在这些服务所需要时启动应用程序和后台程序 [3] 。更多详细信息见 http://www.freedesktop.org/wiki/Software/dbus
LibOSSO
D-Bus 的低级 API 包装,是使用 Maemo 所有应用程序设计的库。它为应用程序提供通知机制,因此它们可以在系统关机或内存不足时正常的关闭。另外, LibOSSO D-Bus 层可能发生的改变中很容易隔离应用程序。
LibOSSO
通常提供可用效用函数给偶然发生在 Internet 面板上的句柄自动保存、平台特征状态保存、硬件状态进程、设备模式改变等其它重要事件。也提供便利的效用包装函数给 D-Bus 发送远程程序方法调用。详见: http://maemo.org/maemo_training_material/maemo4.x/html/maemo_Platform_Development/
Chapter_02_LibOSSO.html

可使用 apt yum 安装 D-Bus 相关开发文件。例如,当使用 apt 安装 LibOSSO 开发文件时,可运行 apt-get install libosso-dev
相关文档

建立此文档参考了下列资料。请查阅这些资料获取详情。

•  GStreamer Introduction - http://gstreamer.freedesktop.org/

•  Helix Introduction - http://helixcommunity.org/

•  DBus Introduction - http://www.freedesktop.org/wiki/Software/dbus

•  Maemo platform training - http://maemo.org/maemo_training_material/maemo4.x/html/maemo_Platform_Development/
Chapter_02_LibOSSO.html




本文译自Moblin.org技术社区, 更多内容,到“Moblin技术中国”专区

                                    点击此处,查看原文



 类似资料: