Sailfish应用开发入门(二)Sailfish SDK 简介
Sailfish OS 是一款基于 Mer Project(MeeGo 旗下一个使用 Qt 开发的分支)的开源移动系统,它采用了 Nemo 架构,还加入了定制化UI。UI界面使用QML、QtQuick和QtMobility 作为UI框架,这和当初的Meego是一样的。
Sailfish SDK集成了Qt Creator和Mer Platform SDK和Sailfish组件。开发者在Qt Creator中写code,点击编译时会自动将code push到虚拟化的Mer SDK VM中使用交叉编译工具进行编译。
在windows上创建项目,如果项目路径不是放在 'C:\User\Admnistrator'就会报如下错误:
Project is outside of shared home 'C:\User\Admnistrator'
这是因为我们的代码是在MerSDK VM中编译的,里面有交叉编译工具,目前最新版本使用的是i486,MerSDK VM启动的时候会将windows系统的主目录即C:\User\Administrator挂载到MerSDK VM的/home/mersdk目录下即MerSDK的主目录。运行项目的时候会使用rpm将项目打包安装到Sailfish OS模拟器的/opt目录下,默认用户是nemo。
如下编译信息可证:
make: Entering directory `/home/mersdk/sailfish/test1'
make: Nothing to be done for `first'.
make: Leaving directory `/home/mersdk/sailfish/test1'
11:20:33: 进程"E:\SailfishOS\share\qtcreator\MerProject\mer-sdk-tools\MerSDK\SailfishOS-i486-x86\make.cmd"正常退出。
11:20:33: Checking whether to start Emulator...
11:20:33: Emulator is already running. Nothing to do.
11:20:33: 部署步骤完成。
11:20:33: 正在上传文件C:\Users\hp\sailfish\test1\test1 ...
11:20:35: 正在上传文件C:\Users\hp\sailfish\test1\main.qml ...
11:20:35: 正在上传文件C:\Users\hp\sailfish\test1\pages\FirstPage.qml ...
11:20:35: 正在上传文件C:\Users\hp\sailfish\test1\pages\SecondPage.qml ...
11:20:35: 正在上传文件C:\Users\hp\sailfish\test1\cover\CoverPage.qml ...
11:20:35: 正在上传文件C:\Users\hp\sailfish\test1\main.qml ...
11:20:35: 正在上传文件C:\Users\hp\sailfish\test1\test1.desktop ...
11:20:35: 所有文件部署成功。
11:20:35: 部署步骤完成。
综上所述,sailfish使用MerSDK VM编译项目,使用Sailfish OS Emulator运行项目。Silfish OS能看到很多meego的影子,如运行时打印信息“Successfully resolved MeeGo graphics system: /usr/lib/qt4/plugins/graphicssystems/libqmeegographicssystem.so”
Sailfish OS SDK 包括
1、QtCreator 集成开发环境
QtCreator是一个跨平台的集成开发环境。在Sailfish OS SDK里已经被扩展支持使用Sailfish Silica组件开发Sailfish UI 应用。
2、Mer VM 交叉编译工具
Mer 编译引擎是一个包含编译和运行Sailfish、QML 应用程序的开发工具链的VM。正在开发的项目会被作为一个目录mount到 Mer VM里。通常home目录会被mount到VM。
3、运行Sailfish OS的模拟器,我们开发Sailfish APP就是运行在它里面
4、一些教程和API文档,以及额外的一些库和开源代码
1)Qt Quick这个框架可以看我以前写的关于QML的博客,更多可以参考http://qt-project.org/doc/qt-4.8/qml-intro.html
2)Sailfish Silica 是一个Sailfish UI组件的QML模块。
3)Qt Mobility 1.2 是一个关于创建多媒体,网络和位置应用的框架。更多可以参考http://doc.qt.digia.com/qtmobility/index.html。
4)Qt Webkit 2.2 是一个让开发者更容易嵌入网络资源到Qt应用里的浏览器引擎。
5)平台API
6)一些开源代码
Sailfish应用开发入门(二)Sailfish SDK 简介相关推荐
- Pascal游戏开发入门(二):渲染图片
Pascal游戏开发入门(二):渲染图片 渲染静态图片 新增一个Texture,然后Render出来 创建Texture,并获取尺寸 procedure TGame.Init(title: strin ...
- java游戏开发入门(二) - 菜单
java游戏开发入门(二) - 菜单 前言 编码 主菜单 游戏内菜单(按下ESC后出现,并会暂停游戏) 效果展示 主菜单 游戏内菜单 完整代码 完整项目 前言 上一章我们创建了一个600x600的 ...
- linux内核开发入门二(内核KO模块介绍、开发流程以及注意事项)
linux内核开发入门二(内核KO模块介绍.开发流程以及注意事项) 一.什么是内核模块 内核模块:ko模块(Kernel Object Module)是Linux内核中的可加载模块,它可以动态地向内核 ...
- Vue开发入门(二) | 说说Vue全家桶有哪些~
全家桶,顾名思义,就是一个系列,可以组合开发成完整强大的Vue项目 前言: *Vue两大核心思想:组件化和数据驱动. 组件化:把整体拆分为各个可以复用的个体 数据驱动:通过数据变化直接影响bom展示, ...
- Sailfish应用开发入门(一)Windows 安装Sailfish,创建第一个Sailfish APP
1.下载安装:virtualbox http://dlc.sun.com.edgesuite.net/virtualbox/4.2.10/VirtualBox-4.2.10-84105-Win.exe ...
- [译]Kinect for Windows SDK开发入门(二):基础知识 上
上篇文章介绍了Kinect开发的环境配置,这篇文章和下一篇文章将介绍Kinect开发的基本知识,为深入研究Kinect for Windows SDK做好基础. 每一个Kinect应用都有一些基本元素 ...
- etabs数据_ETABS二次开发入门(一)——简介
ETABS是一款常用的结构设计软件,能够实现快速建模.分析等功能.这里以ETABS 2015为例,阐述利用ETABS API进行二次开发的方法. 文章的主要参考文献为ETASB自带的CSi API E ...
- 微信小游戏开发入门(二)-用CocosCreator官方Demo生成微信小游戏
微信已经放出小游戏的开发工具包,虽然功能尚未完善,但已经可以开发调试了.我们使用CocosCreator官方的polished_project例子来讲解如何生成微信小游戏. 1.下载polished_ ...
- Android开发入门二之AndroidManfest.xml文件详细说明 .
打开AndroidManfest.xml文件,代码如图,intent filter,描述了Activity启动的位置和时间.每当一个Activity要执行一个操作时,他将创建出一个Intent对象,这 ...
最新文章
- 关于大数据的完整讲解
- OpenCASCADE:Foundation Classes使用句柄编程
- nx二次开发c语言,NX二次开发-UFUN API函数编程基础
- P3706 [SDOI2017]硬币游戏
- BugkuCTF-PWN题pwn1-瑞士军刀
- Python的if判断和两重判断
- R语言-异常数据处理3
- [Ubuntu] fg、bg让你的进程在前后台之间切换
- Net(C#)高级程序员面试题
- 简述游戏抽奖机制运用的心理学知识(上)
- FBX SDK下载安装教程
- 为仿真器添加eCos多线程调试支持,GDBServer Extender 0.0.1 使用说明
- JSP 中的消息框:警告框、确认框、提示框
- Python发送邮件(demo)
- 2020 中国软件 100 强,腾讯第二、阿里第三,第一是谁呢?你们公司上榜了吗?...
- How to make a ipcamera
- servlet:生命周期,tomcat装载,获取初始化参数
- 阿里云国际版CDN的优势
- 命令行批量删除带某关键字的文件
- 嵌入式Linux驱动大全问世,十年磨一剑,视频!服务!新老客户都有大折扣!