總結Ubuntu上使用Android SDK開發經驗

來源:互聯網
上載者:User

測試硬體環境:

開啟了Intel VT的PC (使用KVM時需要VT支援的)

測試軟體環境:

Ubuntu 12.04 x86_64

ADT Bundle Linux x86_64 (在android官網下載:https://developer.android.com/sdk/index.html )

1. 下載所需的Image和建立AVD:

可以在Eclipse(ADT)中,”Window” -> “Andorid SDK Manager”來開啟SDK管理器進行下載,需要下載相應版本(如Android 4.2.2/4.3)的SDK Platform及其對應的ARM或Intel x86 Atom的系統鏡像(如果要在Intel PC上使用Emulator並且要使用KVM加速,則一定需要下載Intel x86 Atom的系統鏡像)。另外,由於SDK Manager是預設到google.com的一些網站下載相關的資訊,如果發現有串連不上的情況(原因你懂的),可以通過”Tools”->”Options”中設定你自己的代理。

在Eclipse-ADT中,”Window” -> “Andorid Virtual Device Manager” 來開啟AVD管理器,在上面可以建立自己的AVD檔案,注意:如果要在Intel平台上使用KVM加速,則建立AVD時,對CPU/ABI的選擇是 “Intel Atom (x86)”。

另外,如果使用一些程式時,其定義的API沒有找到,就需要自己下載了;比如,當前有Android API 18 SDK,可能某個程式需要API 17,就需要下載Android 17的SDK了。

2. KVM加速:

我們都知道,運行Android Emulator時很慢的,有時慢到難以忍受。

如果在Android Emulaor中使用了KVM,則可以實現啟動和運行時程式的加速,效果可能提高5~10倍的執行速度;記得用x86那種AVD。

一些命令列操作如下:

 代碼如下 複製代碼
jay@jay-linux:~$ sudo modprobe kvm
jay@jay-linux:~$ sudo modprobe kvm_intel
 
jay@jay-linux:~$ lsmod | grep kvm
kvm_intel             137721  0
kvm                   415550  1 kvm_intel
 
jay@jay-linux:~$ ps -ef | grep emulator | grep -v grep
jay      11749 10704 14 19:48 pts/18   00:02:18 /home/jay/adt-bundle-linux-x86_64-20130917/sdk//tools/emulator64-x86 -avd Android-4.2-x86 -scale 0.23
 
jay@jay-linux:~$ lsmod | grep kvm
kvm_intel             137721  3
kvm                   415550  1 kvm_intel
# 可看使用Emualtor後,kvm_intel模組已經有3個引用了。

3. OpenGL ES:

如果有OpenGL ES的支援,則可以在Emulator中有更好的影像處理能力,比如:可以運行一些3D的程式。

當本機缺少或ADT沒找到OpenGL相關的庫時,會遇到如下的錯誤。

 代碼如下 複製代碼
[2013-10-10 18:34:19 - App2] Launching a new emulator with Virtual Device 'Android-4.2-x86'
[2013-10-10 18:34:26 - Emulator] Failed to load libGL.so
[2013-10-10 18:34:26 - Emulator] error libGL.so: cannot open shared object file: No such file or directory
[2013-10-10 18:34:26 - Emulator] Failed to load libGL.so
[2013-10-10 18:34:26 - Emulator] error libGL.so: cannot open shared object file: No such file or directory
[2013-10-10 18:34:26 - Emulator] emulator: emulator window was out of view and was recentered

解決方案也很簡單,一般來說都是有了庫的,只是需要添加一個軟串連而已;有時,庫也缺少,那麼就需要先安裝GL相關的軟體庫,再建立軟串連。

 代碼如下 複製代碼
# 如果在/usr/lib下找不到libGL相關的東西,可以用 sudo apt-get install libgl1-mesa-glx  來安裝相應的軟體庫。
jay@jay-linux:~$ ll /usr/lib/x86_64-linux-gnu/mesa/
total 428
drwxr-xr-x  2 root root   4096 Sep  3 17:56 ./
drwxr-xr-x 54 root root  36864 Oct 10 15:07 ../
-rw-r--r--  1 root root     31 Jun 19 04:54 ld.so.conf
lrwxrwxrwx  1 root root     12 Jun 19 04:54 libGL.so.1 -> libGL.so.1.2
-rw-r--r--  1 root root 390352 Jun 19 04:55 libGL.so.1.2
# 可以看到剛好沒有libGL.so,就在 /usr/lib/x86_64-linux-gnu/mesa/ 目錄下,建立一個指向libGL.so.1.2的軟串連libGL.so即可
# 如果沒有root許可權,則可以在SDK的lib目錄中建立軟串連亦可,如下所示:
jay@jay-linux:~$ ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2 /home/jay/adt-bundle-linux-x86_64-20130917/sdk/tools/lib/libGL.so

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.