zoukankan      html  css  js  c++  java
  • 最近一次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

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

  • 相关阅读:
    Selenium入门15 截图
    selenium入门14 窗口切换
    Locust的官网及安装
    命令行输入Jmeter提示不是内部或外部命令,处理方式:添加环境变量
    python pip安装报错python setup.py egg_info failed with error code 1
    Selenium入门13 cookie的增删改查
    Selenium入门12 鼠标和键盘事件
    Selenium入门11 滚动条控制(通过js)
    Selenium入门10 弹出框的处理 switch_to.alert
    Selenium入门9 上传文件
  • 原文地址:https://www.cnblogs.com/moqi2013/p/3359035.html
Copyright © 2011-2022 走看看