下載VirtualBox並安裝:VirtualBox 4.2.6 for Windows hosts x86/amd64
官網:https://www.virtualbox.org/wiki/Downloads
安裝好後,請「新增」
請務必用64bit,因為android 4.0必須64bit
按照你電腦需求,建好vm後,右鍵「設定值」
剪貼簿請改「雙向」
如果你ip分享器有dhcp會配ip,請改「橋接」,可以透過win7網芳傳輸檔案。
掛載 ubuntu-10.04.4-dvd-amd64.iso( 4.3G)
在這抓:http://cdimage.ubuntu.com/releases/lucid/release/
因為如果用ubuntu 12.04LTS 編譯會一堆錯誤,太麻煩了,不如用10.04LTS 簡單多了。
安裝好後,請務必安裝Guest Additions,剪貼簿才能用,畫面解析度才能正常。
先更新ubuntu:
點選「設定」把位於台灣的伺服器改「主要伺服器」,因為台灣的伺服器很爛常常掛掉。
全勾選
因為在虛擬機器裡,所以安裝samba
apt-get install samba samba-common
sudo apt-get install smbfs
網路檔案分享的方式如下
需要去軟體中心下載搜索關鍵詞“Samba”,下載安裝如下圖形中的客戶端軟體。
打開後出現如下界面:
刪除沒用的共享項目,點擊“添加”按鈕,設置你的參數
注意:
1、共享名是在Windows下顯示的文件夾名稱,會在映射磁盤的時候用到
2、記得在第二頁“訪問”勾選訪問的用戶
利用這個圖形Samba軟件都配置完成之後,重啟Samba即可。
sudo nmbd restart
sudo smbd restart
看一下VM的ip是多少
在Win7中的運行輸入\\Ip地址\共享名即可以訪問目錄
搞定。
source build 環境套件安裝:
移除openjdk
$ sudo su
$ apt-get purge openjdk*
ja輸入y
1. 手動安裝JDK 6
請至Java官網 下載 jdk-6uXX-linux-x64.bin。並執行下列命令
sudo su
chmod 777 jdk-6u38-linux-x64.binsudo cp jdk-6u38-linux-x64.bin /opt/
cd /opt/
./jdk-6u38-linux-x64.binchmod 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
安裝依賴包:
官方給出的是:
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 裝置
右鍵
選擇android裝置
查看usb設備,終端機輸入
lsusb
出現了,我的手機
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
參考:http://source.android.com/source/downloading.html
編譯. build/envsetup.sh
lunch full-eng
make –j8
成功,這個時候直接運行emulator,會自動加載你剛編出來的img並開機啟動,然後就可以用啦
emulator
參考:
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
勾選Tools和最新版本的Android API,Extra按需要勾選,Install安裝
更新Eclipse:
運行 Eclipse
/eclipse/eclipse
選單,Help -> check for upfates
如果出現
訊息「There are mp update sites to search. do you wish to open the “Available Software Sites” preferences?」按下yes
add兩個網址
http://download.eclipse.org/releases/juno
http://download.eclipse.org/eclipse/updates/4.2
ok 重新更新 即可。
安裝ADT:
選單,Help -> Install New Program
點擊add按鈕,在loaction文字輸入欄中輸入地址:
https://dl-ssl.google.com/android/eclipse/
點擊OK按鈕
點Select All,點Next,點Next
選 accept,點 finish
成功安裝ADT,提示重啟Eclipse,yes
會跳出 要指定sdk所在位址
點選open preferences
點proceed
由於我們之前已經下載了SDK,所以選擇“Using existing SDKs”,選擇SDK所在目錄
Next,Finish,這樣,ADT就安裝完成了。
創建AVD
Windows ->"Android Virtual Device Manager"
現在還沒有任何虛擬機,點擊New按鈕我們新建一個
創建成功後,我們就有了一個名為AVD4.1.2的虛擬機,來運行程序
完成!
設定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
右鍵點擊項目,Android Tools -> Add Native Support
前提: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
注意不是取代喔!
儲存後,關閉終端機命令列,重開終端機
參考:
- http://www.cnblogs.com/dyingbleed/archive/2012/09/27/2704800.html
- http://www.cnblogs.com/dyingbleed/archive/2012/09/27/2705907.html
- http://www.cnblogs.com/dyingbleed/archive/2012/10/07/2714023.html