android源代码地址: repo init -u https://android.googlesource.com/platform/manifest -b gingerbread 源码可能不包含Linux kernel内容,可以用:git clone git://andorid.git.kernel.org/kernel/common.git 基本功能包含在build/target/product/generic.mk中,如:可以在PRODUCT_PACKAGES中加入PinyinIME,这样可以加入输入法功能。 执行make后生成 的镜像文件在 /out/target/product/generic/下 编译内核: 配置环境变量或者修订kernel目录下的makefile文件: ARCH = arm CROSS-COMPILE = prebuilt/linux-x86/toolchain/arm-eabi-4.4/bin/arm-eabi- 一般还需注释掉build-id行:"LDFLAGS_BUILD_ID =" 这一行设定为空即可 然后执行 make goldfish_defconfig #生成.config文件 make 这样会在kernel/arch/arm/boot下生成zImage文件。 编译sdk:编译源码不会编译sdk make PRODUCT-sdk-sdk 即可。编译完成存放在out/host/linux-86/sdk目录下 如果想单独编译某个源码模块,可以先执行. build/envsetup.sh,这样可以多生成一些命令如: croot:改变目录树的根目录,起始就是改变查找makefile时的起始目录。 m:编译整个起始目录下的工程 mm:编译当前目录下的所有工程 mmm:编译指定目录下的工程。 cgrep:查找所有的C/C++文件, jgrep: resgrep: godir:进入包含某个文件的目录。 例如:mmm packages/apps/Contacts生成文件: out/target/product/generic/data/app/ContactsTests.apk测试工程 out/target/product/geberic/system/app/contacts.apk真正工程 编译ADT: 设定ECLIPSE_HOME=XXX变量 执行: sdk/eclipse/scripts/build_server.sh <output>即可,然后会在output下生成adt。 |
Android 源码编译相关
最新推荐文章于 2023-09-12 23:41:02 发布