下載,安裝ubuntu 12.04
http://releases.ubuntu.com/12.04/
安裝JDK
Android L版本需要openjdk 7.0以上版本,KK版本需要oracle jdk 1.6.26以上版本
$ sudo apt-get update $ sudo apt-get install openjdk-7-jdk
配置默認運行的java版本
- 運行以下命令進行配置
$ sudo update-alternatives --config java $ sudo update-alternatives --config javac
- 或者編輯~/.bashrc,添加如下內容,需要切換jdk爲1.6時直接運行java6
java7() { export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/ export PATH=${JAVA_HOME}/bin:$PATH } java6() { export JAVA_HOME=/home/hunter/tools/jdk1.6.0_38 export PATH=${JAVA_HOME}:${JAVA_HOME}/bin:${PATH} }
安裝必須的軟件包(Ubuntu 12.04)
$ sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386 $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
安裝工具包
$ sudo apt-get install -y vim ssh $ sudo apt-get install -y ia32-libs $ sudo apt-get install -y tree
配置sdk
1.下載skd
官方:https://developer.android.com/sdk/index.html#Other 無需翻牆:http://www.androiddevtools.cn/ <--各類神奇工具一應俱全
2.配置sdk
添加如下內容到~/.bashrc,執行source ~/.bashrc後生效 export ANDROID_HOME=/home/hunter/tools/adt-bundle/sdk export ANDROID_STUDIO_HOME=/home/hunter/tools/android-studio export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_STUDIO_HOME/bin:$PATH
配置usb連接權限
1.創建70-android.rules文件
$ sudo touch /etc/udev/rules.d/70-android.rules
2.獲取當前設備的VID和PID
$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub Bus 001 Device 025: ID 05c6:903a Qualcomm, Inc. <==找到VID(05c6)
3.添加如下內容到70-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev" <== VID(05c6)
4.添加可執行權限
$ sudo chmod a+x /etc/udev/rules.d/70-android.rules
5.重啓udev
$ sudo /etc/init.d/udev restart
6.驗證
$ adb kill-server $ adb start-server 重新插拔USB執行 $ adb devices
配置其他環境
1.配置gitlog短格式顯示
添加如下內容到~/.bashrc alias gitlog="git log --graph --pretty=format:'%Cred%h%Creset - %C(yellow)%cd%Creset - %Cblue%an%Creset - %Cgreen%s%Creset' --date=short"
2.配置git
依次執行如下命令進行配置,或直接編輯~/.gitconfig來配置 git config --global user.name "usernmame" //必須配置項-用戶名(郵箱前綴) git config --global user.email "email" //必須配置項-電子郵件 git config --global core.e git config --global core.editor vim //配置編輯工具爲vim git config --global color.ui auto //配置顏色自動 git config --global merge.tool vimdiff //配置差異分析工具 git config --list //查看配置信息 git config user.name //可以查看某個環境變量配置 git config --global alias.ck checkout //設置別名
3.配置git commit信息
編輯~/.gitmessage,添加commit,比如: [BugFix/Feature] [id]: [Type] BUG [Products] [Solution Description] [Other Info] N/A
$ git config --global commit.template ~/.gitmessage
4.創建ssh的key
$ ssh-keygen -t rsa //一路回車即可,不需要創建key的password $ cat .ssh/id_rsa.pub //後綴名爲pub的文件,就是該gerrit賬戶在該機器上的公鑰,如果你換那虛擬機需要再次創建和上傳公鑰到gerrit web
5.配置vim
添加如下內容到~/.vimrc set hlsearch set number set tabstop=4
6.配置jgrep,cgrep,resgrep等,這些方法被定義在安卓源代碼的build/envsetup.sh文件中
添加如下內容到~/.bashrc,執行source ~/.bashrc 後生效 function ggrep() { find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -type f -name "*\.gradle" -print0 | xargs -0 grep --color -n "$@" } function jgrep() { find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -type f -name "*\.java" -print0 | xargs -0 grep --color -n "$@" } function cgrep() { find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -type f \( -name '*.c' -o -name '*.cc' -o -name '*.cpp' -o -name '*.h' \) -print0 | xargs -0 grep --color -n "$@" } function resgrep() { for dir in `find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -name res -type d`; do find $dir -type f -name '*\.xml' -print0 | xargs -0 grep --color -n "$@"; done; } function mangrep() { find . -name .repo -prune -o -name .git -prune -o -path ./out -prune -o -type f -name 'AndroidManifest.xml' -print0 | xargs -0 grep --color -n "$@" } function sepgrep() { find . -name .repo -prune -o -name .git -prune -o -path ./out -prune -o -name sepolicy -type d -print0 | xargs -0 grep --color -n -r --exclude-dir=\.git "$@" }
7.配置Change-Id自動生成工具
添加如下內容到.git/hooks/commit-msg, 執行chmod +x .git/hooks/commit-msg添加可執行權限
腳本內容:猛戳一下有驚喜
環境檢查
$ adb version Android Debug Bridge version 1.0.31
$ java -version java version "1.7.0_79" OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.12.04.1) OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
$ git --version git version 1.7.9.5
$ python --version Python 2.7.3
$ make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-pc-linux-gnu