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

Sailfish应用开发入门(二)Sailfish SDK 简介

费子濯
2023-12-01

        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)一些开源代码

    

 

 类似资料: