下载:

    1) 下载repo

        创建目录~/Programs/bin,并添加到PATH环境变量中(通常可以加入到~/.bashrc文件中,你也可以下载到/etc/profile文件中),也可以下载到其它已经写入环境变量的目录。

            $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/Programs/bin/repo

            $ chmod 755 ~/Programs/bin/repo

        如果无法通过curl下载repo,我们可以去网站http://code.google.com/p/git-repo/ 上直接下载到合适的目录(能够运行它就行)。我们可以直接使用下载的repo作为命令,也可以作个链接

            $ ln -s repo-xxx repo    #这里将软链接repo放到系统环境变量中存在的目录,别忘记了给文件加执行权限。

    2)现在android源码

            $ mkdir .../android4.3    #前面的.../是你android源码的存放位置

            $ cd .../android4.3

        我们可以先去查看下包含哪些分支, 可以直接到http://source.android.com/source/build-numbers.html网址查询当前的所有分支。这里我们直接下载4.3源码。

            $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.3_r2.2

            $ repo sync -j4

        等到无法继续下载了,我们中断程序——CTRL+C,为git设置下代理(貌似现在不用代理无法下载)。

            $ sudo apt-get install connect-proxy

            $ git config --global http.proxy "72.64.146.136:3128"


            $ repo sync -j4

        下载需要较长时间,等下载完了,执行下面的命令,切换到4.3的源码分支:

            $ repo start origin/android-4.3_r2.2 --all    #具体有哪些分支,可以进入到.repo/manifests/下,用“git branch -a”查看

        如果不要git的代理了可以执行下面的命令取消掉:

            $ git config --global --unset http.proxy

编译:

        1)安装依赖程序/库

            1.1 jdk

                我们只能安装jdk1.6版本的,我之前安装1.7的编译在检查工具版本时退出了,我就装了1.6的,未测试安装1.7能否编译完成。

                 下载jdk-6u45-linux-x64.bin,然后执行:

                 $ chmod a+x jdk-6u45-linux-x64.bin

                 $ ./jdk-6u45-linux-x64.bin

                 $ sudo mv jdk1.6.0_45 /opt/

                 $ sudo vi /etc/profile

                 在其中加入下面的代码:

export JAVA_HOME=/opt/jdk1.6.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${PATH}

                也可以把下面的代码保存为一个shell脚本,然后运行它——将该shell与jdk-6u45-linux-x64.bin文件放到同一个目录

#!/bin/bash

#install path
JDK_PATH=/opt/jdk1.6.0_45

# unpackage
#sudo tar -xzvf jdk-7u25-linux-x64.tar.gz -C /opt
chmod a+x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
sudo mv jdk1.6.0_45 /opt
# add enviroment config
sudo echo "
# config jdk
export JAVA_HOME=${JDK_PATH}
export JRE_HOME=\${JAVA_HOME}/jre
export CLASSPATH=.:\${JAVA_HOME}/lib:\${JRE_HOME}/lib
export PATH=\${JAVA_HOME}/bin:\$PATH
" >> /etc/profile

# 修改ubuntu默认jdk, 下面的命令看个人需要,你也可以手工运行它们(记得替换${JDK_PATH}为正确的路径)。
sudo update-alternatives --install /usr/bin/java  java    ${JDK_PATH}/bin/java  300 
sudo update-alternatives --install /usr/bin/javac javac   ${JDK_PATH}/bin/javac 300 
sudo update-alternatives --install /usr/bin/jar   jar     ${JDK_PATH}/bin/jar   300 
sudo update-alternatives --install /usr/bin/javah javah   ${JDK_PATH}/bin/javah 300 
sudo update-alternatives --install /usr/bin/javap javap   ${JDK_PATH}/bin/javap 300 

sudo update-alternatives --config java

        重启下机器就算完全ok了。如果没有安装过其它版本的jdk可能不需要重启,运行下 $ java --version 看看能不能看到java版本且是1.6的,如果不行还是重启下试试。


        1.2)安装开发包
        $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc git libncurses5-dev:i386 libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386  xsltproc zlib1g-dev:i386
        这些开发包不知到是不是都必须,我这边是这么安装的。


    2)编译
        $ cd .../android4.3
        $ source build/envsetup.sh
        $ lunch full_panda-userdebug    # 这里可以根据自己的需求选择需要选择哪项, 如果要自己选择就不要加full_panda-userdebug了。
        $ make -j4    # 自己看要起几个线程来编译吧


    我这边编译了两个小时,不过还是成功了。







Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐