Spreadtrum_Android_8805和8810环境搭建和源码编译V1.0.1_Word文档

目 录
    附录A 修改记录 ii
    第1章 Spreadtrum Android的环境搭建 1-1
    1.1 安装Ununtu 1.1-1
    1.2 更新Ubuntu系统软件 1.2-1
    1.3 安装合适的gcc和make版本 1.3-1
    1.4 安装Sun-java6-jdk 1.4-1
    1.5 安装更新Andriod所需环境软件 1.5-2
    第2章 Spreadtrum Android的源码编译 2-3
    2.1 解压缩源码包至某工作目录 2.1-3
    2.2 编译所有代码 2.2-3
    2.3 单独编译uboot ,spl和fdl2 2.3-3
    2.4 单独编译kernel 2.4-4
    2.5 仅编译原生Android 2.5-5
    第1章 Spreadtrum Android的环境搭建
    可参考Google的Android环境搭建网页:source.android/source/initializing.html.
    1.1 安装Ununtu
    编译的操作系统要求是Ubuntu,编译环境可以是个人电脑,也可以是服务器。
    对于个人电脑,可以单独装Ubuntu(包括和Windows双系统共存),也可以在Windows上安装Ubuntu虚拟机VM。本步骤使用Ubuntu10.10 VM on Windows XP SP3。验证Ubuntu10.10以及Ubuntu11.04可以编译。如果是Ubuntu11.10的话,由于其附带的gcc为4.6版本,需要降级处理或者安装合适的gcc。
    1.2 更新Ubuntu系统软件
    1. 将ububtu所有系统软件更新包下载下来:sudo apt-get update
    2. 安装更新包:sudo apt-get upgrade
    1.3 安装合适的gcc和make版本
    要能正确编译源代码,需要配备合适版本的gcc,make,java。8805和8810的编译环境一样,要求java6,gcc4.5/4.4,make3.8.1。随Ubuntu版本的不同,其附带的gcc版本也会不一致。高版本的gcc对代码要求较高,编译时可能会出问题。目前代码在4.4,4.5下的gcc可以编译,但是在gcc4.6下编译不成功,需要安装低版本的gcc。用gcc -v可以看到gcc的版本信息。
    正常的make版本是3.8.1, 用make -v可以看到其版本信息。
    1.4 安装Sun-java6-jdk
    1. 查看Java版本:
    java -version
    如果结果显示是"java version "1.6.xx.xx"",则跳过以下第2步。
    2. 用下面的命令将java6的下载地址加入到sources.list并下载安装java6。
    sudo add-apt-repository "deb archive.canonical/ lucid partner"
    sudo add-apt-repository "deb-src archive.canonical/ lucid partner"
    sudo add-apt-repository "deb archive.canonical/ubuntu lucid partner"
    sudo add-apt-repository "deb-src archive.canonical/ubuntu lucid partner"
    sudo apt-get update
    sudo apt-get install sun-java6-jdk
    3. 在~/.bashrc文件最后添加下面三行修改环境变量:
    export JAVA_HOME=/usr/lib/jvm/java-6-sun
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    1.5 安装更新Andriod所需环境软件
    若某个软件已经安装于实际系统,再次执行安装命令会自动跳过,如果忘记安装某些软件,则在后续编译过程中会提示没有安装,需要安装。
    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
    sudo apt-get install libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind
    如果连续安装没有成功,可分别安装。以上命令等效于分别安装每个软件:
    sudo apt-get install git-core
    sudo apt-get install gnupg......
    第2章 Spreadtrum Android的源码编译
    2.1 解压缩源码包至某工作目录
    tar -zxvf YourPackage.tar.gz
    拿到的IDH包包括基础包和可选包,需要把可选包解压以后放在正确的位置。其中uboot的源代码目录u-boot要放在Android根目录下,hisense和CSR包里面解压出来的各个目录要放置在3rdparty子目录内。[如果客户使用CSR BT/WIFI/GPS,需要和CSR签订协议,才会得到我们的CSR包。]
    2.2 编译所有代码
    1. 进入3rdparty:cd 3rdparty/
    2. .查看帮助信息(其中openphone,sp8805ga,sp8810ga是支持的产品列表) :
        ./build.products.sh
    3. sp8805ga平台编译
    ./build.products.sh sp8805ga
    最终生成文件在目录out/target/product/hsdroid里面,其中boot.img, system.img和userdata.img是下载所需要的文件。
    4. sp8810ga平台编译
    ./build.products.sh sp8810ga
    最终生成文件在目录out/target/product/hsdroid里面,其中boot.img, system.img和userdata.img是下载所需要的文件。
    注意,3rdparty目录里面的各个模块是否参加编译取决于3rdparty/products/产品名/build.sh里面定义的模块,可以根据需要手动开关。
    2.3 单独编译uboot ,spl和fdl2
    1. 进入u-boot:cd u-boot/
    2. sp8805ga平台编译
    make CROSS_COMPILE=你的android路径/ preb



=======================================
注意:
1.  下载Ubutu11.04  通过U盘制作启动盘 注意64bit还是32bit
     android2.3必须使用64bit,64bit只有AMD的,但是Intel的可以使用。
    在用户登录界面底部选择 ubuntu经典 模式

    禁用触摸屏  sudo  rmmod psmouse


2.  下载并解压JDK6 注意64bit还是32bit  配置环境变量


3.  下载eclispe  chmod a+x  eclipse
    可以在终端顺利启动Eclipse ,但是鼠标双击,或者用起动器启动就会出现如下的内容:

A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No java virtual machine was found after searching the following locations:…

解决办法是在终端进入你的eclipse 目录,然后输入:
mkdir jre
cd jre
ln -s 你的JDK绝对 目录/bin  bin

4. 配置adb 执行环境

你可能感兴趣的:(android)