当前位置: 代码迷 >> Android >> 筹建Android L开发编译环境
  详细解决方案

筹建Android L开发编译环境

热度:76   发布时间:2016-04-28 01:20:14.0
搭建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/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
  相关解决方案