打开命令行终端,进行第一次系统更新并安装开发必要的软件包,建议先安装aptitude,它是比apt-get更强大的软件包管理工具
|
视网络状况大约等待10-20分钟后,完成软件包的更新,建议把系统重新启动,然后进行Android开发环境的配置,打开一个新的命令行终端
$ sudo apt-get install git tig gnupg flex bison gperf zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 gcc-4.8-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 libesd0-dev libwxgtk2.8-dev lib32ncurses5 subversion unzip rar unrar uboot-mkimage exuberant-ctags tree meld wget imagemagick autoconf vim vim-gtk lib32stdc++6 dos2unix
这个命令会解决一些依赖问题。
sudo aptitude install build-essential
比grep更有效率的搜索工具ag
apt-get install silversearcher-ag
创建Android工具目录/home/android/,并拷贝repo工具到/home/android/bin,请打开一个新的命令行终端
$cd /home
$sudo mkdir android
$sudo chmod 777
android
$mkdir /home/android/bin
$mv ~/repo /home/android/bin/
$chmod 777
/home/android/bin/repo
1、下载配置JDK
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,
这里选择下载 JavaSE 6u45,Linux64位:jdk-6u45-linux-x64.bin
。
进入下载目录,将JDK包放到/usr/local目录下:
$ sudo su
# chmod
777
jdk-6u45-linux-x64.bin
# ./jdk-6u45-linux-x64.bin
# mv jdk1.
6
.0_45 /usr/local/
# ln -s /usr/local/jdk1.
6
.0_45 /usr/local/jdk1.
6
然后是配置JAVA的环境变量,linux中配置环境变量有4个地方:
/etc/environment:设置整个系统的环境,与登录用户无关
/etc/profile:为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行并从/etc/profile.d目录的配置文件中搜集shell的设置
/etc/bash.bashrc:为每一个运行bashshell的用户执行此文件.当bashshell被打开时,该文件被读取.
~/.bashrc:该文件包含专用于该登录用户bashshell的bash信息,当登录时以及每次打开新的shell时该该文件被读取。它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。
各配置的生效时间:
/etc/environment:重启生效
/etc/profile:注销后登录生效
/etc/bash.bashrc:重新打开bashshell后生效
~/.bahsrc:重新打开bashshell后生效
一般我们修改/etc/bash.bashrc即可:
-
sudo gedit /etc/bash.bashrc
在文件最后加上一下四行:
-
export JAVA_HOME=/usr/local/jdk1.6
-
export
ANDROID_JAVA_HOME=\$JAVA_HOME
-
export JRE_HOME=${JAVA_HOME}/jre
-
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
-
export PATH=${JAVA_HOME}/bin:$PATH
保存后注销重新登陆即可生效(source/etc/profile命令只是使得环境变量对当前的shell有效)。
注意:Android 5.0 用到的jdk不在是Oracle 的 jdk ,而是开源的 openjdk, 使用如下命令安装jdk:
$sudo apt-get install openjdk-7-jdk
<span style="font-family:Droid Sans Fallback;"><span style="font-size:12px;"><span lang="zh-CN">修改</span></span></span>/etc/bash.bashrc<span style="font-family:Droid Sans Fallback;"><span style="font-size:12px;"><span lang="zh-CN"></span></span></span>
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
2、安装AndroidSDK+eclipse
Google现在提供了包含了eclipse的SDK,也包含了ADT,所以不用再像以前那样麻烦去分别安装了。
上Android官网下载ADTBundle:http://developer.android.com/sdk/index.html
这里下载for Linux64位版本:adt-bundle-linux-x86_64-20140321.zip
安装到/home/android目录下,
-
unzip adt-bundle-linux-x86_64-20140321.zip
-
mv adt-bundle-linux-x86_64-20140321 /home/android/
-
cd /home/android/
-
ln -s adt-bundle-linux-x86_64-20140321 adt
注意:32位的系统的话自此及可以双击~/adt-bundle/eclipse/eclipse这个文件打开IDE运行了,不过对于64位的系统还不行,打开后会找不到SDK目录下的文件,如adb、emulator等,网上说原因是“由于是64bit的系统,而Androidsdk只有32bit的程序,需要安装ia32-libs,才能使用”。需要安装如下才行:
-
sudo apt-get install lib32stdc++6
-
sudo apt-get install lib32z1
另外为了以后方便,还是把androidsdk的路径加入到PATH中吧:
-
export PATH=$PATH:/home/android/adt/sdk/platform-tools:/home/android/adt/sdk/tools :/home/android/adt/eclipse
验证是否安装配置成功,重新打开一个新的命令行终端:
$eclipse & ##
可以启动
eclipse
$android & ##
可以启动
AndroidAVD Manager
http://source.android.com/source/initializing.html
3、安装git
首先,需要在ubuntu上安装git:
-
sudo apt-get install git
然后需要在本地创建访问远程git的账号,在这里远程服务器的git已经搭建好了,我这里只需要创建本地的环境即可。
一般git使用ssh验证,所以要在本地生成sshkey:(这里可以参考官网帮助:https://help.github.com/articles/generating-ssh-keys)
-
ssh-keygen -t rsa -C "your_email@example.com"
这条命令使用指定的用户账号创建sshkey,运行这条命令会默认在~/.ssh下生成两个文件
id_rsa:私钥(本地保存)
id_rsa.pub:公钥(上传服务器)
然后需要把自己的公钥放到远程服务器github上,访问github的网址,找到自己的账号,添加自己的sshkey,需要把id_rsa.pub的所有内容都添加到key中,其中title可以随便取。
4、给eclipse添加git插件
eclipse上的git插件叫做EGit(官网http://www.eclipse.org/egit/)。
打开eclipse,Help- Install New Software...;
点击Add;
Name随便取,如EGit;
Location为:http://download.eclipse.org/egit/updates/
确定安装即可。
使用时import项目,选择从git导入,填写github上代码目录后,选择ssh方式,就可以不用填写用户名密码了。
5、下载配置NDK
下载地址:http://developer.android.com/tools/sdk/ndk/index.html;
移动到~/adt-bundle/目录下并解压:
-
mv android-ndk-r9d-linux-x86_64.tar.bz2 ~/adt-bundle/
-
tar -jxvf android-ndk-r9d-linux-x86_64.tar.bz2
然后配置NDK的环境变量
-
sudo gedit /etc/profile
添加以下两行:
-
export NDK=/home/xxx/adt-bundle/android-ndk-r9d
-
export PATH=${NDK}:$PATH
(注:这里路径中不能写成~/adt-bundle;
根据编译时的配置不同,可能使用$NDK/ndk-build编译,也可能使用PATH编译,所以在这里我在这里既添加了$NDK,也在$PATH中添加了ndk的路径)
注销计算机后重启生效。
(注意:在/etc/profile中修改$PATH一定要注意不要写错,不然会造成输入正确的用户名和密码后还是登录不了系统的情况出现,此时需要在登录界面按Ctrl+Alt+F2来进入命令行,用vi来修改/etc/profile)
6、安装反编译插件
ccache(“compiler cache”的缩写)是一个编译器缓存,该工具会高速缓存编译生成的信息,并在编译的特定部分使用高速缓存的信息, 比如头文件,这样就节省了通常使用cpp解析这些信息所需要的时间。如果某头文件中包含对其他头文件的引用,ccache会用那个文件的 cpp-parsed版本来取代include声明。ccache只是将最终的文本拷贝到文件中,使得它可以立即被编译,而不是真正去读取、理解并解释其内容。ccache是以空间换取速度,ccache非常适合经常make clean(或删除out目录)后重新编译的情况。
配置方法如下:
1、在~/.bashrc中添加(或者/etc/profile文件中):
#setip ccache and ccache store dir
export USE_CCACHE=1
export CCACHE_DIR= /var/tmp/ccache
默认情况下cache(缓存)会保存在~/.ccache目录下,如果主目录位于NFS或其他非本地文件系统上, 设置cache目录位置:export CCACHE_DIR=<path-to-your-cache-directory>
注:配置.bashrc后注意source改文件,否则cache(缓存)会保存在~/.ccache目录下,而不是你设置的目录。
2、使用android源码prebuilts目录下面的ccache工具初始化该文件夹
推荐的cache目录大小为50-100GB,在命令行执行以下命令:
prebuilt/misc/linux-x86/ccache/ccache -M 50G
以上命令需要在你所下载的代码的根目录下面执行
该设置会保存到CCACHE_DIR中,且该命令是长效的,不会因系统重启而失效。使用ccache第一次编译后能够明显提高make clean以后再次的编译速度。
3.查看ccahe使用情况
$ watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -s
以上命令需要在你所下载的代码的根目录下面执行
备注:使用ccache之后,第一次编译会时间久一点,之后每次编译速度都会有提升
具体可以参看http://source.android.com/source/building-running.html
在线安装,http://jd.benow.ca/