zoukankan      html  css  js  c++  java
  • 第四章

    一、下载、编译和测试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文件。

  • 相关阅读:
    Vagrant 扩大磁盘根目录
    阿里云 轻量应用服务器 vnc 远程桌面连接
    图片加水印C#源代码
    Asp.net网站Pdf加水印C#源代码
    [FAQ] uni-app 如何让页面不展示返回箭头图标
    [PHP] composer, PHP Fatal error: Allowed memory size of xx bytes exhausted
    [FE] uni-app 导航栏开发指南
    [FE] uni-app 动态改变 navigationBarTitleText 导航标题
    [FE] yarn, npm 切换镜像源
    [FAQ] Phpstorm 代码提示功能失效问题
  • 原文地址:https://www.cnblogs.com/homwok/p/5448076.html
Copyright © 2011-2022 走看看