下载,安装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/sdkexport ANDROID_STUDIO_HOME=/home/hunter/tools/android-studioexport 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
$ lsusbBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual MouseBus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB HubBus 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短格式显示
添加如下内容到~/.bashrcalias 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.egit config --global core.editor vim //配置编辑工具为vimgit 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
添加如下内容到~/.vimrcset hlsearchset numberset 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 versionAndroid Debug Bridge version 1.0.31
$ java -versionjava 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 --versiongit version 1.7.9.5
$ python --versionPython 2.7.3
$ make --versionGNU Make 3.81Copyright (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 APARTICULAR PURPOSE.This program built for x86_64-pc-linux-gnu