我们知道Cordova HTML5应用具有夸平台的特性,同一时候也具有訪问本地一些资源的能力。在今天的这篇文章中。我们将介绍一下怎样创建并执行一个Cordova HTML5的应用到我们的Ubuntu手机中。本文的英文原文在“http://developer.ubuntu.com/en/apps/html-5/guides/cordova-guide/”。

1)安装好我们的armhf chroot


假设开发人员已经看过我曾经的文章“Ubuntu SDK 安装”的话,你可能已经安装好自己的armhf chroot了。除了在SDK中能够帮我们安装我们所须要的chroot外,我们也能够通过例如以下的命令来简单地安装我们自己所须要的chroot。

以下以15.04 framework为例:


$sudo click chroot -aarmhf -f ubuntu-sdk-15.04 create  

我们能够在命令行键入如上的命令就能够创建我们的15.04的armhf chroot。

等安装完以后,我们就能够进行下一步的动作。开发人员假设想为14.10的目标进行编译,也能够使用相同的方法来安装14.10的armhf chroot。



2)安装Cordova


在这一步。我们来安装Cordova环境。假设你曾经已经安装过的,建议你使用例如以下的方法删除曾经的安装(因为曾经的安装有bug)。假设你从来没有安装过的话。请忽略这一步

$rm -rf ~/.cordova
$rm -rf ~/.cache

这是为了彻底删除曾经已经在你的电脑中的安装。


然后。我们依照例如以下的步骤来安装Cordova:

$ sudo apt-add-repository ppa:cordova-ubuntu/ppa; sudo apt-get update
$ sudo apt-get install cordova-cli

到眼下的这一步。我们基本上已经创建好我们的Cordova环境了。


3)创建一个简单的Cordova例程


眼下14.10的架构是默认的开发架虽然将来会有变化。

在例如以下的命令中,假设没有指定详细的架构,14.10架构将会被採用。


使用例如以下的命令来创建一个简单的Cordova应用:

$cordova create myapp  myapp.mycompany "My App"
$cd myapp
$cordova platform add ubuntu
$vi config.xml

注意:请在你的config.xml中增加例如以下的句子。以保证你的应用有一个icon图标:

  <icon src="www/img/logo.png" />

另外,请你在config.xml中增加自己的有效的邮件地址:

 <author email="myid@ubuntu.com" />

这样整个config.xml的文件例如以下:


config.xml



<?xml version='1.0' encoding='utf-8'?>
<widget id="myapp.mycompany" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>My App</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="myname@mycompany.com" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<plugin name="cordova-plugin-whitelist" version="1" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<icon src="www/img/logo.png" />
</widget>

这样我们整个的Cordova模版已经被建立好了。

以下我们来详细描写叙述怎么进行编译。



4)编译我们的模版Cordova应用


我们能够使用例如以下的命令为我们的手机进行编译:


$ cordova build --device

就如我们上面所说的一样,它选择默认的一个版本号的armhf chroot进行编译。眼下它指的是14.10。

在第一次编译时,可能须要我们去安装一些额外的库才干够进行编译。

它会提演示样例如以下所看到的的错误信息:


watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="500" height="350" alt="">



List of devices attached
750ABLLH4897 device Target Device: 750ABLLH4897
Building Phone Application... Error: missing dependency inside armhf chroot
run:
sudo click chroot -a armhf -f ubuntu-sdk-14.10 install cmake libicu-dev:armhf pkg-config qtbase5-dev:armhf qtchooser qtdeclarative5-dev:armhf qtfeedback5-dev:armhf qtlocation5-dev:armhf qtmultimedia5-dev:armhf qtpim5-dev:armhf libqt5sensors5-dev:armhf qtsystems5-dev:armhf

就像上面显示的错误信息一样,我们必须在命令行中打入例如以下的命令来安装我们所须要的库:


$sudo click chroot -a armhf -f ubuntu-sdk-14.10 install cmake libicu-dev:armhf pkg-config qtbase5-dev:armhf qtchooser qtdeclarative5-dev:armhf qtfeedback5-dev:armhf qtlocation5-dev:armhf qtmultimedia5-dev:armhf qtpim5-dev:armhf libqt5sensors5-dev:armhf qtsystems5-dev:armhf

当然我们也能够使用例如以下的方法来安装:


$click chroot -aarmhf -fubuntu-sdk-14.10 maint

然后,再打入例如以下的命令:




等安装完后,我们打入exit命令。退出就可以。



又一次进入到我们的应用的根文件夹,再次打入例如以下的命令:

$ cordova build --device


我们能够在项目文件夹下找到我们所须要的click包文件:

liuxg@liuxg:~/web/myapp$ find ./ -name *.click
./platforms/ubuntu/ubuntu-sdk-14.10/armhf/prefix/myapp.mycompany_0.0.1_armhf.click

为了可以在手机上直接执行。我们可以直接执行一下的命令:


$ cordova run --device --debug

在手机上的执行结果:


watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="200" height="300" alt="">



对于使用基于ubuntu-sdk-15.04 chroot来说,我们必须使用例如以下的命令来完毕我们的build:

$ cordova build --device -- --framework ubuntu-sdk-15.04 --verbose

当我们执行时,我们也必须使用例如以下的命令来完毕:


$ cordova run --device --debug -- --framework ubuntu-sdk-15.04

整个项目的源代码在:https://github.com/liu-xiao-guo/cordovasample



5)怎样在手机中调试自己的应用


为了可以输出一些实用的调试信息,我们可以在我们的index.js文件里增加例如以下的console.log语句:

var app = {

    // Application Constructor
initialize: function() {
this.bindEvents();
},
// Bind Event Listeners
//
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function() {
app.receivedEvent('deviceready');
},
// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received'); listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;'); console.log('Received Event: ' + id);
}
}; console.log("This shows how to output something to debug"); app.initialize();


当我们执行我们的HTML5应用到手机时。我们能够看到例如以下的输出:

$ cordova run --device --debug -- --framework ubuntu-sdk-15.04





就像上图中显示的那样,我们能够在电脑中打开chromium浏览器,并输入以上的http://127.0.0.1:9222地址:





从上面我们能够看出来我们加入的的调试信息:

This shows how to output something to debug

在Desktop上的调试也是一样的。我们仅仅须要用例如以下的方法进行执行:

$ cordova run --debug

在chromium浏览器中输入地址http://127.0.0.1:9222就可以。


很多其它想知道怎样在手机上利用Cordova实现camera功能,请參阅文章“Cordova camera app tutorial”。开发人员能够參考文章“在Ubuntu平台上创建Cordova
Camera HTML5应用
”来开发一个Cordova Camera HTML5应用。


怎样在Ubuntu手机平台中开发Cordova HTML5应用的更多相关文章

  1. 00 在Windows环境中开发Cordova项目的准备工作

    1.开发环境准备:     安装nodejs     安装Cordova     安装Visual Studio Code     安装nodejs步骤:     通过nodejs官网(https:/ ...

  2. .Net语言 APP开发平台——Smobiler学习日志:在手机应用中开发蛛网表格

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Sm ...

  3. 怎样在Ubuntu手机应用中得到全部的环境变量值

    我们在先前的例程中已经通过一些方法得到我们应用的一些环境变量值.这些值有的很实用.比方我们能够得到我们应用所仅仅能訪问的文件夹.在今天的例程中,我们来展示一种方法能够得到应用全部的环境变量.在我们的实 ...

  4. 在Ubuntu平台上创建Cordova Camera HTML5应用

    在这篇文章中,我们将具体介绍怎样使用Cordova Camera HTML5 应用.很多其它关于Cordova的开发指南,开发人员能够參考文章"the Cordova Guide" ...

  5. 微信公众平台网页开发实战--3.利用JSSDK在网页中获取地理位置(HTML5+jQuery)

    复制一份JSSDK环境,创建一份index.html文件,结构如图7.1所示. 图7.1  7.1节文件结构 在location.js中,封装“getLocation”接口,如下: 01 wxJSSD ...

  6. Ubuntu jsp平台使用JDBC来连接MySQL数据库

    Ubuntu 7.04 搭建Ubuntu jsp平台开发环境MySQL+tomcat+apache+j2sdk1.6在所有安装开始前先在Terminal中输入 rpm -q -a查看是否安装过rpm ...

  7. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  8. hybird app(混合式app开发)cordova ionic 创建相应平台的app

    hybird app(混合式app开发) 之ionic 框架平台 guide cordova 创建相应平台的app 1. npm install -g cordova //全局安装cordova-cl ...

  9. 移动平台3G手机网站前端开发布局技巧

    本文转载至:移动平台3G手机网站前端开发布局技巧汇总 - 前端开发-武方博 您或许正在或准备参与一个WepApp项目,您或许正在Google搜索mobile development相 关的文章,您或许 ...

随机推荐

  1. [terry笔记]文件操作

    如下记录一次作业: 很显然,我这个应该属于二逼青年版,会在以后更新文艺青年版的答案. 1.模仿sed,一个文件中,用新字符串替换老字符串. # file = input("file_name ...

  2. 工具-VS使用GIT工具

    由于VS中集成了GIT插件,本机安装了GIT工具和TortoiseGit工具,造成在VS中GIT无法同步,于是将TortoiseGit卸载,再次启用VS中的GIT插件,重新初始化GIT文件夹,问题解决 ...

  3. 洛谷—— P3225 [HNOI2012]矿场搭建

    https://www.luogu.org/problem/show?pid=3225 题目描述 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有 ...

  4. C#一个托付的样例

    C#中的函数能够被声明的一个托付所调用. 函数为静态方法.和托付声明的參数返回值要一致.   class Program { delegate float MathOperationDelegate( ...

  5. 不仅仅是Google,您必须知道的全球十大地图API

    不仅仅是Google,您必须知道的全球十大地图API 一.总结 一句话总结:除了google,也有其它很多很好的地图,必应地图(Bing Maps),OpenLayers 二.不仅仅是Google,您 ...

  6. Java 定制工具库 —— Print(import static)

    创建自己的工具库以减少或消除重复的程序代码.例如,我们在Print类中,对常常用到的System.out.println()封装调用以减少输入负担.这样,我们在使用该类时,可以用一个更具可读性的 im ...

  7. [luogu P3813] [FJOI2017] 矩阵填数 解题报告 (容斥原理)

    题目链接: https://www.luogu.org/problemnew/show/P3813 题目: 给定一个 h*w的矩阵,矩阵的行编号从上到下依次为 1..h,列编号从左到右依次1..w. ...

  8. POJ 3268 Dijkstra+priority_queue或SPFA

    思路:正向建边,一遍Dijkstra,反向建边,再一遍Dijkstra.ans加在一起输出最大值. (SPFA也行--) // by SiriusRen #include <queue> ...

  9. Android UnitTest FrameWork

    Android test suites基于Junit,可以直接使用Junit测试不使用android api的class,也可以使用android的Junit extensions测试android ...

  10. P3809 【模版】后缀排序

    题目背景 这是一道模版题. 题目描述 读入一个长度为 nn 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置.位置编 ...