搭建Android L開發編譯環境

下載,安裝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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章