现在的位置: 首页 > 综合 > 正文

转:VirtualBox建置 Ubuntu 10.04 LTS x64 Android source build 開發環境

2014年10月07日 ⁄ 综合 ⁄ 共 7331字 ⁄ 字号 评论关闭

转自:http://note.jhpeng.com/2013/02/virtualbox-ubuntu-1004-lts-x64-android.html

VirtualBox建置
Ubuntu 10.04 LTS x64 Android source build 開發環境

2013年2月2日星期六 

image

 

下載VirtualBox並安裝:VirtualBox 4.2.6 for Windows hosts x86/amd64

官網:https://www.virtualbox.org/wiki/Downloads


安裝好後,請「新增

請務必用64bit,因為android 4.0必須64bit

image

按照你電腦需求,建好vm後,右鍵「設定值」

剪貼簿請改「雙向」

image

 

 

如果你ip分享器有dhcp會配ip,請改「橋接」,可以透過win7網芳傳輸檔案。

image

 

掛載 ubuntu-10.04.4-dvd-amd64.iso( 4.3G)

在這抓:http://cdimage.ubuntu.com/releases/lucid/release/

因為如果用ubuntu 12.04LTS 編譯會一堆錯誤,太麻煩了,不如用10.04LTS 簡單多了。

安裝好後,請務必安裝Guest Additions,剪貼簿才能用,畫面解析度才能正常。

image


先更新ubuntu:

image

點選「設定」把位於台灣的伺服器改「主要伺服器」,因為台灣的伺服器很爛常常掛掉。

image

全勾選

image

image


因為在虛擬機器裡,所以安裝samba

apt-get install samba samba-common

sudo apt-get install smbfs

網路檔案分享的方式如下

需要去軟體中心下載搜索關鍵詞“Samba”,下載安裝如下圖形中的客戶端軟體。

image

image

打開後出現如下界面:

image

刪除沒用的共享項目,點擊“添加”按鈕,設置你的參數

imageimage

注意:

1、共享名是在Windows下顯示的文件夾名稱,會在映射磁盤的時候用到

2、記得在第二頁“訪問”勾選訪問的用戶

利用這個圖形Samba軟件都配置完成之後,重啟Samba即可。

sudo nmbd restart 

sudo smbd restart 

看一下VM的ip是多少

image

 

image

在Win7中的運行輸入\\Ip地址\共享名即可以訪問目錄

image

image

搞定。


source build 環境套件安裝:

移除openjdk

$ sudo su

$ apt-get purge openjdk*

image

ja輸入y

 

1. 手動安裝JDK 6

請至Java官網 下載 jdk-6uXX-linux-x64.bin。並執行下列命令

sudo su 

chmod 777 jdk-6u38-linux-x64.bin

sudo cp jdk-6u38-linux-x64.bin /opt/

cd /opt/  

./jdk-6u38-linux-x64.bin

chmod 777 -R jdk1.6.0_38/

變更個人帳號的環境變數

修改profile檔案,加入相關的JAVA環境變數。

$ sudo gedit /etc/profile

於檔案尾端加入:

#set java environment 

JAVA_HOME=/opt/jdk1.6.0_38 

export JRE_HOME=/opt/jdk1.6.0_38/jre 

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

變更全局環境變數:

sudo gedit /etc/environment

PATH增加

:/opt/jdk1.6.0_38/bin:/opt/jdk1.6.0_38/jre:/opt/jdk1.6.0_38/:/opt/jdk1.6.0_38/lib

注意不是取代喔!

例如:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

變成

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/jdk1.6.0_38/bin:/opt/jdk1.6.0_38/jre:/opt/jdk1.6.0_38/:/opt/jdk1.6.0_38/lib"

 

儲存後,關閉終端機命令列,重開終端機,驗證一下目前java 環境版本:

java -version

image


安裝依賴包:

官方給出的是:

sudo apt-get install git-core gnupg flex bison gperf build-essential \ 

  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ 

  x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \ 

  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \ 

  libxml2-utils xsltproc


安裝最新版Git

sudo add-apt-repository ppa:git-core/ppa

sudo apt-get update 

sudo apt-get install git


讓ubuntu使用usb:

編輯usb存取權限

sudo gedit /etc/udev/rules.d/51-android.rules

加入

# adb protocol on passion (Nexus One) 

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>" 

# fastboot protocol on passion (Nexus One) 

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>" 

# adb protocol on crespo/crespo4g (Nexus S) 

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>" 

# fastboot protocol on crespo/crespo4g (Nexus S) 

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>" 

# adb protocol on stingray/wingray (Xoom) 

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>" 

# fastboot protocol on stingray/wingray (Xoom) 

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>" 

# adb protocol on maguro/toro (Galaxy Nexus) 

SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>" 

# fastboot protocol on maguro/toro (Galaxy Nexus) 

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>" 

# adb protocol on panda (PandaBoard) 

SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>" 

# fastboot protocol on panda (PandaBoard) 

SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>" 

# usbboot protocol on panda (PandaBoard) 

SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="<username>" 

# usbboot protocol on panda (PandaBoard ES) 

SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>" 

# adb protocol on grouper (Nexus 7) 

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0600", OWNER="<username>" 

# fastboot protocol on grouper (Nexus 7) 

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="<username>" 

新建.rules文件

sudo gedit /etc/udev/rules.d/50-android.rules

輸入如下內容:

SUBSYSTEM=="usb",ATTR{idVendor}=="0bb4",MODE="0666"

儲存。

重啟udev

sudo /etc/init.d/udev restart

透過virtualbox 使用 USB 裝置

image

右鍵

image

選擇android裝置

image

查看usb設備,終端機輸入

lsusb

image

出現了,我的手機

Bus 001 Device 002: ID 04e8:6860 Samsung Electronics Co., Ltd

參考:http://source.android.com/source/initializing.html


開始下載source tree

mkdir ~/bin

PATH=~/bin:$PATH

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

chmod a+x ~/bin/repo

repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

輸入名字留白enter鍵、輸入email留白enter鍵、y、y

repo sync

image

參考:http://source.android.com/source/downloading.html


編譯

. build/envsetup.sh

lunch full-eng

make –j8

成功,這個時候直接運行emulator,會自動加載你剛編出來的img並開機啟動,然後就可以用啦

emulator

image

參考:

http://source.android.com/source/building.html


下載Eclipse

請到官網: http://www.eclipse.org/downloads/

下載「Eclipse Classic
4.2.1, 182 MB Linux 64 Bit版

下載成功,獲得.tar.gz文件

解壓.tar.gz文件

tar -zxvf eclipse-SDK-4.2.1-linux-gtk-x86_64.tar.gz

 


下載ADT (Android Developer Tools)

請到官網:http://developer.android.com/sdk/index.html

ADT跟SDK Tools有什麼不一樣? 

簡單來說ADT Bundle就是google把Android Developer Tools如 Eclipse 和相關 SDK Tools套件全部包起來。因為我們自己下載最新版的eclipse所以只需要選擇Linux版本下載SDK Tools「 android-sdk_r21.0.1-linux.tgz

下載成功後,獲得.tgz文件

解壓.tgz文件

tar -zxvf android-sdk_r21.0.1-linux.tgz

運行 更新Android SDK

/android-sdk-linux/tools/android

image

勾選Tools和最新版本的Andr​​oid API,Extra按需要勾選,Install安裝


更新Eclipse:

運行 Eclipse

/eclipse/eclipse

選單,Help -> check for upfates

image

如果出現

訊息「There are mp update sites to search. do you wish to open the  “Available Software Sites” preferences?」按下yes

image

add兩個網址

http://download.eclipse.org/releases/juno

http://download.eclipse.org/eclipse/updates/4.2

image

image

image 

ok 重新更新 即可。


安裝ADT:

選單,Help -> Install New Program

image

點擊add按鈕,在loaction文字輸入欄中輸入地址:

https://dl-ssl.google.com/android/eclipse/

image

點擊OK按鈕

image

點Select All,點Next,點Next

image

選 accept,點 finish

image

成功安裝ADT,提示重啟Eclipse,yes

image

會跳出 要指定sdk所在位址

image

點選open preferences

image

點proceed

image

由於我們之前已經下載了SDK,所以選擇“Using existing SDKs”,選擇SDK所在目錄

image

Next,Finish,這樣,ADT就安裝完成了。


創建AVD

Windows ->"Android Virtual Device Manager"

image

現在還沒有任何虛擬機,點擊New按鈕我們新建一個

image

創建成功後,我們就有了一個名為AVD4.1.2的虛擬機,來運行程序

image

完成!


設定NDK環境:

下載NDK

官方網站:http://developer.android.com/tools/sdk/ndk/index.html

選擇Linux 32/64-bit (x86)版本下載「android-ndk-r8d-linux-x86.tar.bz2

下載成功,獲得.tar.bz2文件

獲得.tar.bz2文件先改權限:

chmod 777 android-ndk-r8d-linux-x86.tar.bz2 

解壓.tar.bz2文件

tar -jxvf  android-ndk-r8d-linux-x86.tar.bz2

改權限:

chmod 777 -R android-ndk-r8d 

配置Eclipse插件

打開Eclipse,設置NDK路徑,Window -> Preferences -> Android -> NDK

image

右鍵點擊項目,Android Tools -> Add Native Support

image 

前提:Eclipse請先成功安裝ADT


加入sdk和ndk全局環境變數:

變更個人帳號的環境變數

修改profile檔案,加入相關的JAVA環境變數。

$ sudo gedit /etc/profile

於PATH增加(注意不是取代喔!)

:/home/dev/Download/android-sdk-linux/platform-tools 

:/home/dev/Download/android-ndk-r8d

例如:

#set java environment 

JAVA_HOME=/opt/jdk1.6.0_38 

export JRE_HOME=/opt/jdk1.6.0_38/jre 

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 
export SDKPATH=/home/dev/Download/android-sdk-linux/platform-tools 

export NDKPATH=/home/dev/Download/android-ndk-r8d
 

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$SDKPATH:$NDKPATH

 

變更全局環境變數:

sudo gedit /etc/environment

PATH增加

:/home/dev/Download/android-sdk-linux/platform-tools:/home/dev/Download/android-ndk-r8d

注意不是取代喔!

儲存後,關閉終端機命令列,重開終端機


參考:

抱歉!评论已关闭.