zoukankan      html  css  js  c++  java
  • 有了源代码,当然还需要编译喽!!

    (一)下载、编译和测试Android源代码

    1.配置Android源代码下载环境

    #mkdir ~/bin——创建一个用于存放下载脚本文件的目录

    #PATH=~/bin:$PATH

    #curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo——下载repo脚本文件

    #chmod a+x ~/bin/repo

    #mkdir android_source——创建用于存放Android源代码的目录

    #cd android_source

    #repo init -u https://android.googlesource.com/platform/manifest——初始化

    #repo sync——开始下载源代码

    2.编译Android源代码

    #source build/envsetup.sh 或 #.build/envsetup.sh ——初始化编译环境

    #lunch full-eng——设置编译目标为full-eng

    #make 或 #make -j4——当有多个CPU内核时,可以多个同时进行编译,缩短编译时间

    编译工程:# cd /working/android2.3.4_scr

                  # source build/envsetup.sh

                 # cd packages/apps/Calculator

                 # mm

               或 # cd /working/android2.3.4_src

                   # build/envsetup.sh

                   #mmm packages/apps/Calculato

    编译完成后,会在Android源代码根目录中生成一个out目录,所有编译的目标文件都在这个目录下

    (二)下载和编译Linux内核源代码

    1.下载Linux内核源代码

    # git clone https://android.googlesource.com/kernel/common.git

    # git branch -a——查看当前有哪些远程版本库

    # git checkout -b android-3.0 remotes/origin/android-3.0——导出Linux3.0内核

    2.安装Android内核的编译环境

    安装交叉编译器,请参考第二篇随笔。

    配置Linux内核源代码根目录下的Makefile文件,打开Makefile文案,找到ARCH和CROSS_COMPILE

    ARCH  ?=arm

    CROSS_COMPILE?= arm-none-linux-gnueabi-

    3.配置和编译Linux内核

    假设Linux内核源代码目录是/root/linux_kernel,使用下面命令可以编译Linux内核:

    #export PATH=/root/compilers/arm-none-linux-gnueabi/bin:$PATH

    #cd ~/linux_kernel

    #make clean

    #make

    4个配置命令必须在Linux源代码目录执行:

    make config 以文本的形式配置Linux内核;

    make menuconfig ;

    make oldconfig 以字符界面逐项要求用户配置;

    make xconfig 以图形界面形式配合Linux内核;

      由于make xconfig 命令形式的图形界面使用了QT的共享库,因此,如果执行make xconfig 命令的Ubuntu Linux 未安装QT,可以使用下面的命令安装QT

       #apt-get install libqt4-dev

    成功编译Linux内核后,会在<Linux内核源代码根目录>/arch/arm/boot目录生成一个zImage文件,该文件就是Linux内核的二进制版本

  • 相关阅读:
    spring获取webapplicationcontext,applicationcontext几种方法详解
    Spring工具类:WebApplicationContextUtils
    eclipse maven tomcat7 热部署
    检验深度优先和广度优先的程序(邻接矩阵存储结构)
    无向图的邻接多重表存储结构
    有向图的十字链表存储结构
    图的邻接表存储结构
    图的数组(邻接矩阵)存储结构
    最优二叉树(赫夫曼树、赫夫曼树和赫夫曼编码的存储结构)
    树的存储结构(树的二叉链表(孩子—兄弟))
  • 原文地址:https://www.cnblogs.com/xiansheng/p/5424379.html
Copyright © 2011-2022 走看看