我在先前的文章"Ubuntu SDK 安装"中已经具体地介绍了怎样安装Ubuntu SDK.可是非常多的开发人员可能在最后安装SDK所须要的chroots时候会失败.这里面的原因是SDK在安装chroots时,它不支持断点续传.也就是说在安装chroots时,因为网路的原因或某种原因。造成chroots的安装失败时。我们须要再次又一次安装它.一般我们须要删除现有的已经安装失败的chroots.每一个chroot(armhf及i386)在安装后的大小约为1.6G.这篇文章具体介绍怎样高速地安装我们的Ubuntu SDK.开发人员能够观看Ubuntu SDK安装视频得到很多其它的关于SDK安装的信息.
1)安装Ubuntu SDK
首先。我们能够安装好我们的Ubuntu桌面系统.我们一般推荐安装最新的Ubuntu桌面系统,比方眼下即将面世的16.04 LTS版本号.假设已经有一个Ubuntu桌面系统。我们能够它通过例如以下的命令来升级我们的桌面系统到最新的系统:
$ update-manager -d
按照现有的文章"Ubuntu SDK 安装"中介绍的那样,安装最新的Ubuntu SDK.
$sudo apt-get update $sudo apt-get upgrade $sudo apt-get dist-upgrade $sudo add-apt-repository ppa:ubuntu-sdk-team/ppa $sudo apt-get install ubuntu-sdk $sudo apt-get install ubuntu-sdk-dev ubuntu-sdk-ide $sudo apt update && sudo apt dist-upgrade在上面的先開始的命令中。我们先把我们的Ubuntu桌面系统更新到最新的状态,这样使得我们的最新的SDK依赖的包都被安装到系统中以使得后面的SDK的安装能够顺利进行.否側在我们的实际安装中,假设有的包不在系统中或是最新的。那么后面SDK的安装可能失败.
在这个步骤中,因为我们使用了ppa,全部它能够支持断点续传.假设失败了,它能够在下次安装时再次从上次中断的地方继续下载安装.一般来说我们并不操心这一步的失败.对于有些开发人员来说。能够尝试使用VPN的方法来提高安装的速度.安装成功后,我们能够在dash中找到我们所须要的Ubuntu SDK:
对于网路情况不是非常好的开发人员来说。请直接跳到以下的第三节下载已经安装成功过的chroots来安装而不须要以下的第二步.
2)安装chroots
在这个步骤中,因为它不支持断点续传,全部它是最easy导致安装失败的环节.假设我们的网路情况好的话,我们能够直接在我们的命令行中打入以下的命令来安装我们的chroots.在这个步骤中,我们能够来安装我们所须要版本号的chroots.我们能够通过例如以下的方式找到我们手机全部支持的framework:
liuxg@liuxg:~$ adb shell phablet@ubuntu-phablet:~$ click framework list
一般来说在我们开发时。会选择我们所须要的framework(相当于iOS的版本号).假设我们所定义的framework在手机中不存在,那么我的应用在手机中将不能被执行.眼下我们建议使用15.04的chroots.
- armhf chroot的安装
我们能够通过例如以下的命令来安装我们的armhf chroot:
$sudo click chroot -aarmhf -f ubuntu-sdk-15.04 create假设安装失败,我们必须使用例如以下的命令删除已经安装的半成品,然后再用上面的命令来安装我们的chroot.
$sudo click chroot -a armhf -f ubuntu-sdk-15.04 destroy
- i386 chroot的安装
我们能够通过例如以下的命令来安装我们的armhf chroot:
$sudo click chroot -ai386 -f ubuntu-sdk-15.04 create假设安装失败,我们必须使用例如以下的命令删除已经安装的半成品,然后再用上面的命令来安装我们的chroot.
$sudo click chroot -a i386 -f ubuntu-sdk-15.04 destroy
3)直接下载已有的chroots进行安装
在实际的安装中,我发现有非常多的开发人员在进行上面的安装时因为网路的原因而导致上面的安装不能成功.基于这个原因。我们把我已经安装成功过的chroots上传到我们的百度网盘供大家下载.等下载完后。我们再把它们解压到我们所须要的路径中.这种安装优点是。我们能够使用各种方法进行断点下载我们打包过的chroots。并成功复制到对应的文件夹中.这种方法的缺点是:chroots可能不是最新的.开发人员在以后的SDK中能够进行自己主动更新或手动更新我们的chroots.只是一般来说,这个chroots已经够用即使在不更新的情况下.
删除不论什么已经安装或安装不成功的chroots
我们能够通过上一节中介绍的方法来删除以前没有安装成功的chroots以保证我们有干净的安装环境:
$sudo click chroot -a armhf -f ubuntu-sdk-15.04 destroy $sudo click chroot -a i386 -f ubuntu-sdk-15.04 destroy通过上面的方法,我们确保在我们的桌面系统中没有不论什么我们以前安装失败后残存的chroots文件.
下载我们上传的chroots
开发人员能够到我们的网址下载我们已经上传的chroots.这个chroots是到上传时间最新的chroot.对于绝大多数的应用开发应该是没有不论什么问题的.当然开发人员能够在以后的SDK中进行更新.
就如同我们上面显示的那样.在我们上次的chroots中。有两部分文件.
- chroot.d:
这个是须要安装到/etc/schroot/chroot.d文件夹中的文件.安装后的文件架构是:
liuxg@liuxg:/etc/schroot/chroot.d$ tree . ├── click-ubuntu-sdk-15.04-armhf └── click-ubuntu-sdk-15.04-i386在实际的拷贝中,我们须要使用sudo来拷贝的方法这两个文件.这里的liuxg是我自己的电脑liuxg上username.在你们自己安装时,这个名字应该是你们自己的username.打开这个两个文件,相同我们须要使用sudo来编辑这两个文件,比方click-ubuntu-sdk-15.04-armhf:
[click-ubuntu-sdk-15.04-armhf] description=Build chroot for click packages on armhf users=root,liuxg root-users=root,liuxg source-root-users=root,liuxg type=directory profile=default setup.fstab=click/fstab # Not protocols or services see # debian bug 557730 setup.nssdatabases=sbuild/nssdatabases union-type=overlayfs directory=/var/lib/schroot/chroots/click-ubuntu-sdk-15.04-armhf
我们能够使用vi或gedit来编辑上面的文件.替换上面的"liuxg"为自己电脑上的username.然后存下来.我们使用相同的方法来对click-ubuntu-sdk-15.04-i386进行相同的操作.
- chroots.tar.gz
我们把这个文件复制到/var/lib/schroot/文件夹。然后我们通过例如以下的方法来解压缩:
liuxg@liuxg:/var/lib/schroot/chroots$ sudo tar -xvf chroots.tar.gz
解药缩后的文件架构为:
liuxg@liuxg:/var/lib/schroot/chroots$ tree -L 1 . ├── click-ubuntu-sdk-15.04-armhf └── click-ubuntu-sdk-15.04-i386
相同上面的"liuxg"是我自己的username.在实际应用中,它应该是你自己电脑上的username.
- 检查我们已经安装好的chroots
我们能够通过例如以下的方法来检查我们的chroots的安装是否已经成功:
liuxg@liuxg:~$ schroot -l chroot:click-ubuntu-sdk-15.04-armhf chroot:click-ubuntu-sdk-15.04-i386 source:click-ubuntu-sdk-15.04-armhf source:click-ubuntu-sdk-15.04-i386
假设我们已经看到上面的显示,表明我们的安装已经是成功的.
- 打开我们的Ubuntu SDK来检查我们的chroots
在SDK中,我们怎么来检查我们已经安装过的chroots是否已经成功呢?我们首先打开我们的SDK。然后点击菜单:
Tools ==> Options ==> Ubuntu ==>Click
假设我们已经看到我们的chroot已经在上面所看到的的图片中,表明我们的chroot是已经安装成功的.我们能够点击上面的Update来更新我们的chroots到最新状态.当然我们也能够点击Maintain来加入或删除我们所须要的模块或库.
4)最后一招
假设上面的全部方法都已经试过了。还是不能够的话,能够在地址下载debian文件进行安装.须要安装的文件在页面的最以下.眼下使用于16.04 LTS的desktop系统.
ubuntu-sdk-api-15.04-armhf_15.04-20160122~0ubuntu1~0xenial1_amd64.deb
(573.6 MiB)
ubuntu-sdk-api-15.04-i386_15.04-20160122~0ubuntu1~0xenial1_amd64.deb (448.8 MiB)
ubuntu-sdk-api-tools_15.04-20160122~0ubuntu1~0xenial1_all.deb (10.9 KiB)
ubuntu-sdk-api-15.04-i386_15.04-20160122~0ubuntu1~0xenial1_amd64.deb (448.8 MiB)
ubuntu-sdk-api-tools_15.04-20160122~0ubuntu1~0xenial1_all.deb (10.9 KiB)
假设大家还是有困难下载上面的文件,我们已经把它们放到我们的百度云上面了.请在百度云盘里下载.在安装我们上面的文件时。我们必须按照上面的方法先删除我们先前安装过的文件。我们能够使用例如以下的命令:
$sudo click chroot -a armhf -f ubuntu-sdk-15.04 destroy $sudo click chroot -a i386 -f ubuntu-sdk-15.04 destroy
然后通过例如以下的命令:
$ sudo dpkg -i ubuntu-sdk-api-15.04-i386_15.04-20160122-0ubuntu1-0xenial1_amd64 $ sudo dpkg -i ubuntu-sdk-api-tools_15.04-20160122-0ubuntu1-0xenial1_all.deb $ sudo dpkg -i ubuntu-sdk-api-15.04-armhf_15.04-20160122-0ubuntu1-0xenial1_amd64.deb
$ schroot -l我们也能够在我们的SDK的界面中进行更新的操作.当然这依赖于我们的网路速度 :)
- 检验我们已经安装的Ubuntu SDK
我们能够通过文章"创建第一个Ubuntu for phone应用"来检查我们的SDK的安装是否成功.假设一切顺利,我们能够把我们的应用部署到我们的设备或模拟器中.具体安装模拟器的方法,能够參阅文章"Ubuntu
SDK 安装".这里将不再反复.