Android系统级深入开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3.3 编译Android系统源代码

编译Android系统的方法比较简单:在Android源代码的根目录中有一个Makefile,直接执行make即可。make过程将递归找到各个目录中的Android.mk文件进行编译。可以增加-j 4等参数指定并行编译的线程,加快编译的速度。

Android系统编译过程的片断如下所示:

    $ make
    ============================================
    PLATFORM_VERSION_CODENAME=REL
    PLATFORM_VERSION=2.2
    TARGET_PRODUCT=generic
    TARGET_BUILD_VARIANT=eng
    TARGET_SIMULATOR=
    TARGET_BUILD_TYPE=release
    TARGET_BUILD_APPS=
    TARGET_ARCH=arm
    HOST_ARCH=x86
    HOST_OS=linux
    HOST_BUILD_TYPE=release
    BUILD_ID=FRF91
    ============================================
    Checking build tools versions...
    # 编译过程
    Combining NOTICE files: out/target/product/generic/obj/NOTICE.html
    Target  system  fs  image:  out/target/product/generic/obj/PACKAGING/systemimage_
unopt_intermediates/system.img
    Install system fs image: out/target/product/generic/system.img
    Installed file list: out/target/product/generic/installed-files.txt

一般情况下,system.img生成后,表示整个系统已经成功地编译完成了。注意:在开始编译的时候,TARGET_PRODUCT,TARGET_ARCH等内容是从环境变量得到的,如果需要更改它们的内容,可以直接使用export导出环境变量。