• 最近一次Android源码编译过程


    系统:ubuntu12.04 32位

    !!!!注意:

    1,不要使用64位ubuntu

    2,务必分配4g或者以上的swap空间

    一,源码下载

    谷歌搜索download android source code,第一个结果就是官方文档(http://source.android.com/source/downloading.html)教你怎么下载源码,大概步骤如下:

    1,在当前用户的home目录下创建一个文件夹来保存一写可执行文件,并把该文件夹加到环境变量中;

    mkdir ~/bin

    PATH=~/bin:$PATH

    2,安装curl,安装git,下载Repo;

    sudo apt-get install curl

    sudo apt-get install git

    如果要使用代理:

    curl -x 127.0.0.1:8087 http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

    不使用代理:

    curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

    当然还要让repo具有可执行权限:

    chmod a+x ~/bin/repo

    3,创建一个文件夹来存储Android源码

    mkdir WORKING_DIRECTORY

    cd WORKING_DIRECTORY

    4,初始化仓库信息,并设置要下载的版本

    repo init -u https://android.googlesource.com/platform/manifest

    repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

    PS:repo设置代理的方式:

    export HTTP_PROXY=127.0.0.1:8087

    export HTTPS_PROXY=127.0.0.1:8087

    5,同步Android源码

    repo sync

    PS:同步过程中如果中断不用担心,使用repo sync可以继续同步,同步过程中同步内容是隐藏的,到源码同步目录按Ctrl+h可以查看隐藏内容;我下载的是android-4.0.1_r1大概有11g多,用了差不多十个小时;电信20M+代理大概3个小时下载完成

    二,编译环境的配置

    编译过程值得注意的就是使用32位系统以及保证充足的内存空间!!!

    Android编译需要非常多的依赖,这里列出我编译时用到的依赖以及一些问题

    1,安装基本依赖支持

     sudo apt-get install build-essential make libc6-dev
     
     sudo apt-get install bison patch texinfo libncurses-dev

     sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip
     sudo apt-get install gnupg  ncurses-dev zlib1g-dev valgrind


    2,jdk的安装

    由于甲骨文收购了sun公司,然后把google告了所以Android的jdk平台最多只能达到1.6也就是jdk6,所以用jdk7是不行的,如果android版本比较低可能还需要使用jdk5,这里简绍使用jdk6;

    (1),谷歌搜索jdk-6u45-linux-i586.bin下载jdk6安装包(甲骨文官方没有找到)

    (2),把安装包拷贝到~/bin目录下

    (3),赋予安装包执行权限

    chmod a+x ~/bin/jdk-6u45-linux-i586.bin

    (4),执行安装包

    ~/bin/jdk-6u45-linux-i586.bin

    (5),执行完成后会在bin目录下生成jdk-1.60_45这个目录把这个目录下的bin目录配置到环境变量中

    PATH=~/bin/jdk-1.60_45/bin:$PATH

    执行java命令检查是否安装成功

    3,gcc和g++的安装

    由于ubuntu自带的g++和gcc版本过高,所以无法正常的编译源码,这里需要安装4.4.6版本

    (1),移除自带的gcc和g++

    sudo apt-get remove gcc

    sudo apt-get remove g++

    (2),安装4.4版本的gcc和g++

     sudo apt-get install gcc-4.4
     sudo apt-get install g++-4.4

    (3),为4.4版本的gcc和g++建立连接

    cd /usr/bin

    sudo rm gcc

    sudo rm g++

    sudo rm cc

    sudo ln gcc-4.4 gcc

    sudo ln gcc-4.4 cc

    sudo ln g++-4.4 g++

    三,源码编译

    cd ~/bin/WORKING_DIRECTORY

    (-j4是指定线程数量,如果电脑性能好可以写成-j8什么的)

    make -j4

    下载与编译过程到此结束!

  • 相关阅读:
    闭包如何产生内存消耗及性能消耗
    纯色半透明
    CSS选择符权重
    浅谈模块化的JavaScript
    WEB前端知识体系
    侃侃meta标签
    【读书笔记】读《编写可维护的JavaScript》 编程风格(第一部分)
    谈谈防御性编程
    很小的一个函数执行时间调试器Timer
    谈谈防止重复点击提交
  • 原文地址:https://www.cnblogs.com/moqi2013/p/3359035.html
Copyright © 2020-2023  润新知