Android源码编译

第一步:安装unbuntu系统 


我选择的是64位的11.04版本,这里最好选择真实机器,4.0后的android编译的时候对系统要求很大,虚拟机会出现内存不够用的情况,也许是我本身的机器性能不够用导致,这里只是建议。


默认的情况下在jdk已经不在ubuntu的包仓库里面了,所以需要手动的从Oracle网站下载了 64位的jdk  jdk-6u27-linux-x64.bin,这里尽量使用jdk6或者5的版本,高版本反而可能不适用。安装好JDK之后,设置环境变量。


第二步:建立java的环境变量


修改~/.bashrc


   $vim ~/.bashrc


在末尾加入如下内容:


export JAVA_HOME=/usr/java/jdk1.6.0_27

export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ANDROID_PRODUCT_OUT=~/workplace/android_4.0.1_r1/out/target/product/generic

ANDROID_PRODUCT_OUT_BIN=~/workplace/android_4.0.1_r1/out/host/linux-x86/bin/

export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT}

 

第三步:安装缺少的文件


google 还给出了(Ubuntu 10.04 -- 11.10)需要安装的包

 


$ 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 lib32readline5-dev lib32z-dev \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
  libxml2-utils xsltproc

 
如果安装完之后发现还有包没有,可以自行再安装对应的包,对于Ubuntu 11.10,还需要安装:

$ sudo apt-get install libx11-dev:i386

由于11.10的gcc版本过高,这里可能还需要降低gcc的版本号,一般gcc4.4x更合适,安装之后还需要做个符号链接,将gcc链接到gcc4.4x的路径上来。


第四步:安装Repo,开始下载代码


安装 Repo,创建用户的bin目录,并设置PATH,
$ mkdir ~/bin
$ PATH=~/bin:$PATH

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

    $ chmod a+x ~/bin/repo

创建repo下载代码的目录

    $ mkdir workplace
    $ cd workplace
初始化repo,这里会让你填写一些个人信息以建立repo帐号
    
    $ repo init -u https://android.googlesource.com/platform/manifest
检查各除了master之外的各分支版本
    $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
    
开始下载
    $ repo sync
根据网速大概需要下载几个小时,下载完成之后进行后续工作。


第五步:代码下载好之后,开始编译


进入 代码根目录,执行:
 $ source build/envsetup.sh 
or
 $ . build/envsetup.sh 
这一句是设定当前编译的环境变量
$ lunch full-eng
选择编译的版本,采用4个线程编译
$ make -j4
根据自己的机器的配置来,,漫长的等待。我的机器花了2个多小时,正好可以整理下笔记。
编译成功之后,out/target/product 将会有对应的img出现了,
执行:
$emulator 让镜像在模拟器中展现。

 

编译SDK

$ make PRODUCT-sdk-sdk (会先清空现有的img文件,经过漫长的时间等待)


齐活。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值