Android 编译基础知识

编译Android,需要设置代码缓存、输出文件夹和编译环境。

  1. 代码缓存是指在编译过程中使用额外的硬盘空间,缓存编译所产生的的目标文件。当使用make clean命令清理编译垃圾后,代码缓存可以大大提高二次编译的速度。
    1. 设置方法:将以下代码插入~/.bashrc文件末尾
      export USE_CCACHE=1

      默认的代码缓存在Home目录的 .ccache文件夹中,要改变此设置,可以在上面的代码后面添加:

      export CCACHE_DIR=新的代码缓存目录

       

    2. 编译输出文件夹:默认在out/文件夹下面。其中out/host/文件夹存放编译完成的SDK。out/target/文件夹存放编译完成的设备代码,即ROM文件。输出文件夹位置修改:~/.bashrc文件末尾插入语句:
      export OUT_DIR_COMMON_BASE=输出文件夹

      打开一个新终端,或者执行~/.bashrc命令,完成环境变量的设置。

  2. 编译Android源码

    1. #设置编译环境
      
      source build/envsetup.sh
      
      #选择你要编译的目标
      #xxx-yyy-zzz: xxx为目标设备;yyy为目标平台,即处理器型号或设备型号;
      #zzz为编译选项(user,userdebug,eng)
      
      lunch
      
      #编译
      #X为同时使用的进程数。编译器占用的理论最大CPU资源为“X/CPU线程数”
      #双线程处理器:X 一般取2~4
      #4线程处理器: X 一般取4~6
      #8线程处理器: X 一般取8~12
      
      make -jX
      
      

      ROM文件位于out/target/product/设备型号文件夹。如果编译目标是aosp_arm-zzz, 可以运行emulator命令启动模拟器

  3. 编译SDK

    source build/envsetup.sh
    
    lunch
    
    make -jX sdk

    编译得到的文件位于out/host/设备型号/sdk/android-xxx文件夹中。sdk可供Android应用开发者使用。

你可能感兴趣的:(Android)