Ubuntu SDK 安裝

2puT發表於2016-07-21

在這篇文章裡,你將學到如何安裝Ubuntu SDK到你的系統中,並生成一個簡單的應用以測試你的安裝是否成功。對英文好的學習者,可以參考Ubuntu 網站中的英文地址來進行安裝。如果開發者想對Ubuntu SDK的使用有更深的認識,可以參閱文章“如何使用Ubuntu SDK”。


安裝Ubuntu SDK是一個比較繁瑣的過程.如果大家有什麼疑問的話,可以參閱我的視訊"Ubuntu SDK安裝".


特別指出:下面的截圖幾乎都是使用Framework-14.10,對於Framework-15.04或最新的Framework來說,是完全一樣的步驟,只是需要選擇Framework-15.04或最新的Framework!(這裡14.10指的是2014年10月份的釋出。Ubuntu每年有兩個釋出版本,4月和10月)。

作業系統選擇

Ubuntu for phone的開發是基於Ubuntu 14.10 (Utopic)以上的版本目前我們推薦桌面16.04 LTS Xenialchroots (i386, armhf)都選為15.04.如果你已經有一個執行的Ubuntu桌面系統,你可以通過如下的方式來在不需要重灌系統的情況下更新你的Ubuntu桌面到最新的系統(比如16.04 LTS):

  1. $ update-manager -d   

為了能夠使得Scope的開發在Desktop環境中編譯成功,Ubuntu SDK建議安裝在Utopic (14.10)及以上的Ubuntu OS之中。如果你使用的作業系統不是這個版本的,你可以安裝一個VM(比如VirtualBoxVMWare),在VM中再安裝Ubuntu OS 14.10及以上的版本。關於如何安裝VirtualBox,請參閱文章”怎麼在Virtualbox下安裝Ubuntu OS“。如果你想在你的電腦裡從一個分割槽裡安裝Ubunut系統,你也可以參考文章“How to use manual partitioning during installation”。對於Windows 7的開發者來說,可以參閱文章“Windows7下安裝Ubuntu雙系統”來進行安裝雙系統。

有的開發者已經安裝好14.04的作業系統,那麼在14.04上安裝好SDK後,Scope開發的測試只能在模擬器或手機中執行,不能在Desktop的環境中除錯,因為Scope的API在14.04和14.10中有很多的變化,不相容。

另外我們指出的是:如果開發者不想在自己的電腦上安裝Ubuntu安裝SDK的開發者來說,可以嘗試自己製作一個Live USB盤。裡面已經把所有的SDK都已經安裝好了,可以直接進行開發。詳細步驟在文章“如何製作Ubuntu SDK Live USB盤”找到。

新增Phablet Tools PPA

Phablet Tools PPA 提供了一些額外的工具來對device進行安裝。這個工具是安裝在從Ubuntu OS 12.04以後的版本中的。

你可以在Ubunt 14.04 Trusty 以後的版本中並不需要新增,因為它已經在Ubuntu通用的釋出中。你可以通過如下的方式進行新增:

$ sudo add-apt-repository ppa:phablet-team/tools

新增Ubuntu SDK 釋出 PPA中

按照一下方式新增Ubuntu SDK 釋出 PPA (https://launchpad.net/~ubuntu-sdk-team/+archive/ppa)。注意使用Utopic(14.10)及以上版本也要加入此PPA鍵入如下命令,並輸入你的Linux管理員密碼來完成。

$ sudo add-apt-repository ppa:ubuntu-sdk-team/ppa

安裝 Ubuntu SDK

按一下方式安裝SDK。在需要的時候輸入Linux管理員密碼

$sudo apt-get update
$sudo apt-get upgrade
$sudo apt-get dist-upgrade
$sudo apt-get install ubuntu-sdk
$sudo udo apt-get install ubuntu-sdk-dev ubuntu-sdk-ide

提示:對一些人,特別是對那些安裝Ubuntu Desktop的開發者來說,必須確保所有的安裝的包更新到最新的版本。這個可以通過如下的命令實現:

$ sudo apt-get update && sudo apt-get dist-upgrade

啟動Ubuntu SDK IDE

  • 在Ubuntu "Unity Dash Applications lens"中尋找 "Ubuntu SDK
  • 點選找到的”Ubuntu SDK" 圖示


你也可以在shell中啟動Ubuntu SDK:

$ ubuntu-sdk-ide 

提示:對一些開發者來說,他們可能很想讓Ubuntu SDK IDE的圖示出現在Ubuntu Unity 的啟動皮膚中,這樣可以每次很方便地啟動。只要先啟動SDK,然後在Ubuntu桌面的左側的啟動皮膚中,找到SDK的圖示,並按下右鍵,然後選定"Lock to Launcher"。這樣,SDK 就可以固定在啟動的皮膚中了。



當我們第一次啟動Ubuntu SDK時,可以看到如下的介面:



我們可以在SDK的第一次啟動過程中來安裝armhf chroot (為手機架構)及i386 chroot (為emulator架構)。依賴於網路的速度,這個安裝的過程比較漫長,需要大家耐心等待!

     


如果我們在SDK啟動時,選擇不再顯示安裝wizard,並且我們選擇不安裝armhf及i386架構,我們也可以在下面的步驟中來安裝它們。具體的步驟也可以參閱“如何使用Ubuntu SDK”。


對於許多網路不是很好的開發者來說,我們可以參閱文章"如何快速地安裝Ubuntu SDK"來快速而穩定地安裝我們所需要的chroots.如果是這樣的話,我們不必要進行如下的chroots的安裝步驟.我們可以直接下載已經安裝過的chroots.


安裝Ubuntu SDK armhf chroot (建議安裝15.04的armhf chroot)

這個步驟是為了交叉編譯我們所開發的應用(armhf格式,因為幾乎所有的手機的晶片都是用arm晶片做成的)並部署到手機上。我們可以通過如下的步驟進行安裝:

  • 啟動Ubuntu SDK
  • 選中IDE選單中的"Tools",然後在選中"Options",然後再選中”Ubuntu"。就會看到如下的畫面
  • 點選"Create Click Target",然後可以看到如圖所示的對話方塊。選擇"armhf/Framework-14.10"即可。之後你可以看到安裝開始。依賴於你的網路的情況,安裝需要一段時間。需要耐心等待!



在上圖中,我們可以看到已經安裝好的"utopic ubuntu-sdk ... armhf",這裡我們可以點選"update"來更新我們所安裝的包,同時,我們也可以看到"Maintain"這個按鈕。這個是用來對我們的chroot來進行維護的。比如說我們所開發的應用中,可能需要一個庫,但它不是標準的庫,沒有安裝。這時我們想測試時,就可以點選這個按鈕,並在shell中進行安裝或刪除某個包。當然我們必須也要記得在手機中進行安裝這個庫以使編譯好的應用能夠執行。當然我們也可以使用如下的命令來維護我們的chroot:

  1. $click chroot -aarmhf -fubuntu-sdk-15.04 maint  


在上面的命令列中,我們可以打入我們需要安裝的命令來安裝我們所需要的包。

將來在我們的實際程式設計中,如果我們想在chroot中編譯我們的一些專案(比如一些libs),我們可以使用如下的命令:

  1. $click chroot -aarmhf -fubuntu-sdk-15.04 run  

我們也可以在shell中輸入如下的命令來安裝armhf的chroot:

[javascript] view plain copy
  1. $sudo click chroot -aarmhf -f ubuntu-sdk-14.10 create  

當然我們也可以使用如下的命令來刪除自己安裝的armhf chroot (這種情況適用於在SDK GUI中不能徹底刪除已經安裝一般的chroot):

[javascript] view plain copy
  1. $ sudo click chroot -a armhf -f ubuntu-sdk-14.10  destroy   

對於有些開發者來說,安裝armfh chroot有時有些困難,開發者也可以使用如下的方法來進行靜態安裝:
  1. $ sudo apt install ubuntu-sdk-api-15.04-armhf   
等安裝完後,我們可以在shell中看到如下的資訊:

~$ schroot -l
chroot:click-ubuntu-sdk-14.10-armhf
chroot:trusty-amd64-armhf
chroot:trusty-armhf
chroot:utopic-amd64-armhf
source:click-ubuntu-sdk-14.10-armhf
source:trusty-amd64-armhf
source:trusty-armhf
source:utopic-amd64-armhf

這裡 "chroot:click-ubuntu-sdk-14.10-armhf"就是我們在這個步驟中安裝的chroot。有了這個我們就可以為手機target生成目標安裝檔案進行部署了。

安裝Ubuntu SDK i386 chroot (建議安裝15.04的i386 chroot)

這個安裝是為了使得以後我們含有C++程式碼(比如說C++ plugins)的應用能夠順利編譯並使得應用在模擬器中執行。就像我在上面講過的那樣,在虛擬機器中我們的模擬器由於一些原因是啟動不起來的,所以在這樣的情況下,我們可以選擇不安裝這個i386的chroot.我們可以一併安裝,在以後需要的時候我們可以生下這個步驟。這個安裝過程同樣需要很長的時間。需要耐心等待。這個安裝步驟和上面幾乎是一樣的,只是我們需要選擇"i386"架構。



我們也可以在shell中輸入如下的命令來安裝i386的chroot:

[javascript] view plain copy
  1. $sudo click chroot -ai386 -f ubuntu-sdk-14.10 create  

當然我們也可以使用如下的命令來刪除自己安裝的i386 chroot(這種情況適用於在SDK GUI中不能徹底刪除已經安裝的chroot):

[javascript] view plain copy
  1. $ sudo click chroot -a i386 -f ubuntu-sdk-14.10  destroy   

對於有些開發者來說,安裝i386 chroot有時有些困難,開發者也可以使用如下的方法來進行靜態安裝:
  1. $ sudo apt-get install ubuntu-sdk-api-15.04-i386   
安裝完後,我們可以在shell中通過如下的命令檢視已經安裝好的chroot:

~$ schroot -l
chroot:click-ubuntu-sdk-14.10-armhf
chroot:click-ubuntu-sdk-14.10-i386
chroot:trusty-amd64-armhf
chroot:trusty-armhf
chroot:utopic-amd64-armhf
source:click-ubuntu-sdk-14.10-armhf
source:click-ubuntu-sdk-14.10-i386
source:trusty-amd64-armhf
source:trusty-armhf
source:utopic-amd64-armhf

如果由於某種原因導致安裝chroot不成功(比如慢的網速),我們可以通過如下的方法刪除已經安裝一半的chroot,再次重新找個好的網路或好的時段來重新進行安裝。



在刪除chroot時,也有一種可能在點選“delete”按鈕時,出現刪除不成功,結果導致在上面的列表中還有該chroot,這時我們可以強制使用如下的命令來刪除該chroot:

[javascript] view plain copy
  1. $sudo click chroot -a i386 -f ubuntu-sdk-14.10 destroy   

在上面,它通過命令刪除ubuntu-sdk-14.10框架下的i386架構的chroot。

安裝模擬器

這個步驟是為了安裝一個在手機一個模擬器以模擬一個手機,這樣開發者可以在電腦上進行開發及測試。等除錯好了以後,就可以部署到我們的真手機中以進行下一步的測試。具體的安裝步驟如下:

  • Ubuntu 啟動SDK
  • 選擇IDE左側的"Devices",然後在所在的介面中點選圖中的"+"。這樣就可以看到如下的畫面
  • 在所顯示的對話方塊中,輸入所需要的模擬器的名字。選擇"i386",然後點選"Create"即可。整個過程可能會花很長的時間完成。請耐心等待。這個安裝雖然也可以選擇"armhf"來進行模擬,但目前建議的還是"i386"架構。


注意當我們安裝摸擬器時,我們可以選擇“devel”或“stable”  channel(stable是最新Ubuntu的官方發行版,devel是最新經過驗證的daily build)。“devel-proposed”是包含最新變化的發行版,比如當前的15.04的版本。這個版本還需要被驗證,並且可能有bug。

 

在安裝模擬器過程中,如果出現問題,可以按照上面右圖所示的方式我們的安裝的log資訊。
有了這個模擬器,我們就可以在模擬器中執行我們開發的應用了。我們可以選擇剛才生成的模擬器(myinstance),並執行它:



我們也可以在”devices“中檢視我們的模擬器的image的Framework及版本號碼:



注意,當我們執行模擬器時,如果被提問需要密碼時,這個預設的密碼是“0000。我們可以通過按下“Alt"鍵,並使用滑鼠來拖動模擬器來把模擬器放入適當的位置。實際執行的效果圖如下:



開發者也可以參閱https://wiki.ubuntu.com/Touch/Emulator文章來安裝自己的模擬器。開發者可以在shell中使用如下的命令來執行模擬器:

[javascript] view plain copy
  1. $ubuntu-emulator run myinstance --scale=0.8  

這裡myinstance是我們已經建立好的Ubuntu emulator的名稱。

如果由於一些原因,開發者看見模擬器是一個黑色的螢幕(看不見任何的內容)或者執行的速度比較慢。這有可能是我們在我們的電腦的BIOS裡沒有啟動硬體虛擬化功能而造成的。開發者需要到自己的電腦的BIOS裡的設定啟動VT-X/AMD-V。



開發者可以在Shell中通過如下的命令來檢查自己的電腦是否支援virtualization:

  1.  # check if the hardware support virtualzation  
  2.  $ grep -e svm -e vmx /proc/cpuinfo  
  3.    
  4. check if it's enabled from BIOS  
  5.  $ sudo apt-get install cpu-checker && kvm-ok  


安裝Qt幫助文件


由於一些原因Qt幫助文件沒有被安裝。我們可以手動安裝這些文件:

  1. sudo apt-get install qt5-doc  

這樣,我們在Qt Creator中在關鍵詞上面按下"F1"鍵就可以看到幫助了。

安裝搜狗中文輸入法


我們知道對中文應用開發者來說,中文的支援很重要。開發者可以參考我的文章“怎麼在Ubuntu OS上面安裝搜狗輸入法及對Qt Creator的支援"來進行安裝。

英文語言環境安裝中文輸入法


對於一下開發者來說,你也可以在純英文版的Ubuntu系統中安裝中文輸入法.具體的安裝步驟可以在文章中找到.

開啟開發者模式


對於已經有手機的開發者來說,可以參閱文章”怎麼在Ubuntu手機中開啟開發者模式“。對於我們的模擬器也一樣。如果想把我們的應用部署到模擬器中,我們也必須在模擬器中開啟開發者模式,否則我們的應用不能部署到模擬器中。

Qt SDK 安裝


這個安裝步驟是不必須的。對於有些開發者來說,想更多地學習Qt,並且在硬碟存貯允許的情況下可以在http://qt-project.org/downloads下載並安裝最新的Qt SDK。Qt SDK裡有豐富的例程,是我們學習Qt的一個很好的資源。

Ubuntu開發培訓

安裝完我們的SDK後,我們可以在地址“Ubuntu 手機開發培訓準備”下載培訓材料,觀看視訊來學習在Ubuntu平臺上的開發。


總結

至此,我們的開發安裝環境基本上已經好了。在下一個章節中,我們來試著建立一個應用來檢測一下我們的環境是否已經成功了。我們可以轉到"建立第一個Ubuntu for phone應用"來檢查我們的安裝環境是否正確。