首先,需要下载android源代码,下载过程比较长,我是在晚上下载的。
注意,目前下载的源代码中不包括kernel,据说是linux机构已经把android kernel剔除出去。
编译整个源代码需要比较长的时间。在系统的根目录下有个Makefile文件,直接使用make就可以了。
因为我下载是使用sudo(root权限)下载的,没有修改权限,所以编译使用了sudo make.
也可以先修改权限,然后直接使用make。
ken@ken:/data/android$ sudo chmod -R ken *
ken@ken:/data/android$ make
ken@ken:/data/android$ sudo make
[sudo] password for ken: (input your root password)
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
编译后的输出结果:
Install: out/host/linux-x86/bin/vm-tests
Install: out/target/product/generic/system/app/Mms.apk
target R.java/Manifest.java: SignatureTest (out/target/common/obj/APPS/SignatureTest_intermediates/src/R.stamp)
target Java: SignatureTest (out/target/common/obj/APPS/SignatureTest_intermediates/classes)
Copying: out/target/common/obj/APPS/SignatureTest_intermediates/classes-full-debug.jar
Copying: out/target/common/obj/APPS/SignatureTest_intermediates/classes.jar
target Dex: SignatureTest
target Package: SignatureTest (out/target/product/generic/obj/APPS/SignatureTest_intermediates/package.apk)
'out/target/common/obj/APPS/SignatureTest_intermediates/classes.dex' as 'classes.dex'...
target Java: SignatureTestTests (out/target/common/obj/APPS/SignatureTestTests_intermediates/classes)
ken@ken:/data/android$