• 第四章


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

    (1)配置 Android 源代码下载环境

    在下载 Android 源代码之前必须要在 Linux 终端执行一系列命令来配置下载环境。

    1.创建一个用于存放下载脚本文件(repo)的目录

    # mkdir -/bin

    # PATH=~/bin:$PATH

    2.下载 repo 脚本文件

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

    # chmod a+x ~/bin/repo

    repo文件实际上是用python脚本对Git的封装,主要是为了简化下载Android源代码的操作。

    3.创建用于存放Android源代码的目录

    # mkdir android source

    # cd android source

    第4步:初始化

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

    第5 步:开始下载Android源代码

    # repo sync

    下载Git时间普遍较长,需耐心等待。若要备份Android源代码,需保留版本库(.git目录)。

    二、部分Android 源代码目录含义

    abi 应用程序二进制接口

    bionic C/C++运行时库

    bootable 用于Android装载和启动程序

    build用于编译Android源代码以及建立system.img, ramdisk.img等文件的工具

    cts 用于兼容性测试的工具

    dalvik  Dalivik虚拟机的源代码

    development  高层的开发和调试工具

    device  与设备相关的代码.其中包含了moto、二星的设备相关代码

    docs包含与Android派代码项目的文档和工具,如Dalivk虚拟机格式文档等

    libcore  Java核心库

    system  Android的基本系统

    三、下载 Android 源代码中的一部分

    当只需要部分Android 源代码时,可只下载需要的部分。

    使用repo sync命令 在repo sync命令后跟工程名,工程名就是要下载的工程所在的路径全名前面加上platform/。

    # repo sync platform/bootable/recovery

    使用git clone命令

    git clone https://android. googlesource.com/<project name>

    repo sync和git clone命令下载源代码主要有如下区别。

    r.epo sync会在当前目录生成一个隐藏自录.repo该目录存放了下载Android源代码所需的全部信息。

    repo sync下载指定工程的源代码会按照实际的路径存放,如bootable/recovery 。 而git clone 会只会建立工程目录 (如receovery), 并不会建立层次路径结构。

    四、编译Android源代码

    第1步:初始化编译环境

    在Linux终端执行命令:#  source  build/envsetup.sh 或 # . build/envsetup.sh

    envsetup.sh脚本文件主要用来初始化一些编译命令。

    第2步:选择目标

    使用lunch命令设置编译自标。

    第 3 步 编译 Android 源代码

    # make

    五、安装 Android内核的编译环境

    (1)准备工作

    将arm-linux-gcc-4.3.2.tgz文件和arm-none-Iinux-gnueabi-arm-2008q3-72-for-linux.tar.bz2文件复制到工作目录。

    (2)解压编译器

    (3)验证交叉编译器是否安装成功

    # ls /usr/local/arm –l

    六、配置和编译Linux内核

        在终端输入以下命令编译Linux内核:

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

    # cd ~/linux_kernel

    # make clean

    # make

    内核编译成功后,会生成一个zImage文件。

  • 相关阅读:
    小笔记系列——Excel中获取当前日期
    Git 错误:OpenSSL SSL_read: Connection was reset, errno 10054
    cmd_切换文件目录的几种方法
    Jupyter Notebook 常用操作(持续更新中……)
    chrome 浏览器书签保存
    各种开发工具注释的快捷键(持续更新中…)
    Spyder 快捷键(注释、跳转、缩进)
    ISlide插件安装后,PPT无法正常关闭
    [TimLinux] 操作系统实战45讲
    [TimLinux] vnc and go bashrc
  • 原文地址:https://www.cnblogs.com/homwok/p/5448076.html
Copyright © 2020-2023  润新知