MTKandroid快速编译方法

上传人:枫** 文档编号:498466709 上传时间:2023-01-23 格式:DOC 页数:10 大小:195KB
返回 下载 相关 举报
MTKandroid快速编译方法_第1页
第1页 / 共10页
MTKandroid快速编译方法_第2页
第2页 / 共10页
MTKandroid快速编译方法_第3页
第3页 / 共10页
MTKandroid快速编译方法_第4页
第4页 / 共10页
MTKandroid快速编译方法_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《MTKandroid快速编译方法》由会员分享,可在线阅读,更多相关《MTKandroid快速编译方法(10页珍藏版)》请在金锄头文库上搜索。

1、.FAQ10625 提升Android编译速度Platform:MT6572MT6582MT6588MT6589.MT6572MT6582MT6588MT6589MT6592MT6595MT6571MT6582/92+MT6290Branch:GB3235.GB32359GB57FAQ ContentDESCRIPTIONAndroid codebase都很大,编译一次都需要花很多时间,如果是preloader/lk/bootimage还好,但是Android的话都是非常久。实际上这个编译时间还是可以进一步缩短!KEYWORDccache编译时间提升降低SOLUTION1. 移除modules

2、_to_check(1). Android默认是所有模块都会编译的不管需不需要,这个有些冗余,可以通过修改编译系统不编译哪些没有用到的模块(2). 修改方法:alps/build/core/main.mkfiles: prebuilt $(modules_to_install) $(modules_to_check) $(INSTALLED_ANDROID_INFO_TXT_TARGET)修改为:files: prebuilt $(modules_to_install) $(INSTALLED_ANDROID_INFO_TXT_TARGET)(3). 如果是ubi nand文件系统的项目比如7

3、2 nand项目,还需要在alps/build/core/Makefile中:$(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTFS) $(MKBOOTIMG) $(MINIGZIP) $(INSTALLED_RAMDISK_TARGET) $(INSTALLED_BOOTIMAGE_TARGET) $(recovery_binary) $(recovery_initrc) $(recovery_kernel) $(INSTALLED_2NDBOOTLOADER_TARGET) $(recovery_build_prop) $(recovery_resour

4、ce_deps) $(recovery_fstab) $(recovery_gzip) $(recovery_sec_ko) $(RECOVERY_INSTALL_OTA_KEYS)的前面添加:ifeq ($(TARGET_USERIMAGES_USE_UBIFS),true)$(INSTALLED_RECOVERYIMAGE_TARGET): $(recovery_ubiformat)endif否那么会编译失败!(4). 修改后Android编译时间降低16%18%数据仅供参考(5). 此种方法google已在4.3版本默认应用了。(6). 仅对new有效果,但是由于没有编译没有用到的模块,

5、不仅节省时间还节省磁盘空间(节省out目录下的中间文件)。2. 开启android ccache(1). ccache是google默认就存放在codebase的工具,对于ccache的功能可以到网络搜寻资料。(2). 设置cache大小这一步一定要做!,一个codebase需要大约5G的空间,如果你的编译环境有5个codebase在使用,那么需要25G的空间。设置小了还会引起编译时间延长! 1.GB版本:prebuilt/linux-x86/ccache/ccache -M 25G 2.版本:prebuilts/misc/linux-x86/ccache/ccache -M 25G(3).开

6、启的方法: 1.命令行增加USE_CCACHE=1即可:./mk -o=USE_CCACHE=1 n。如果是user版本开启ccahce的话,可以这样:./mk -o=USE_CCACHE=1,TARGET_BUILD_VARIANT=user n。 2.建议:添加到环境变量(其他方式亦可):修改alps/makeMtk,在#!/usr/bin/perl之后新建一行,填写$ENVUSE_CCACHE = 1;(4).第1次编译会花多一点时间建立cache,之后即可享受ccache带来的好处,降低所有使用gcc的编译时间,大约25%30%。 1.可以通过ccache -s查看cache信息,如果

7、满了可以用ccache -C清除所有。在满了状态下编译新codebase,将会旧的那个清除,这会降低效率,所以cache一定要设置正确!(6). 对mm/new/remake android都有效果。3. 开启kernel ccache(1). 以上ccache只对编译android有效,kernel部分需要额外设置才行(2). alps/kernel/Makefile文件中的S= $(CROSS_PILE)asLD= $(CROSS_PILE)ld.bfdCC= $(CROSS_PILE)gccCPP= $(CC) -E之后添加:ifneq ($(USE_CCACHE),) export C

8、CACHE_PILERCHECK := content export CCACHE_SLOPPINESS := time_macros,include_file_mtime,file_macro export CCACHE_BASEDIR := / ccache := $(strip $(wildcard $(PWD)/./prebuilts/misc/linux-x86/ccache/ccache) ifdef ccache ifneq ($(ccache),$(firstword $(CC) CC := $(ccache) $(CC) endif ccache = endifendif(3

9、). 这样在编译kernel时也可以享受到ccache带来编译时间的缩短。以上两种方法优化后大约可降低50%的编译时间,也就是说优化前需要1小时编译时间,优化后半小时就完成了。还可以参考:FAQ11348 共享ccache的缓存FAQ10299如何加速./mk snod打包FAQ03127当修改一些代码时,使用什么编译命令可以最有效率FAQ05444只修改kernel的时候, 快速编译方法/added by Cheguosheng startccache -s查看ccache的大小ccache -C清除cache,C要大写设置ccache的大小:如果是版本,直接在终端运行:prebuilts/

10、misc/linux-x86/ccache/ccache -M 25G如果是GB版本,直接在终端运行:prebuilt/linux-x86/ccache/ccache -M 25G/added by Cheguosheng endFAQ05444 只修改kernel的时候, 快速编译方法FAQ发布时间:2013-04-20Platform:MT6573MT6575MT6577MT6589MT6572Branch:GB2ICSICS22FAQ ContentDescription通常我们修改kernel的时候, 需要下命令 ./mk *x n k; ./mk bootimage; 这样需要比较长

11、的时候.此FAQ提供快速编译方法Keywordkernel buildSolution1:将如下code存为mkbootimage.sh2:将mkbootimage.sh放在alps/目录下:3:cp out/host/linux-x86/bin/mkbootimg ./4:修改权限: chmod 777 mkbootimage.sh5:执行: ./mkbootimage.sh project_nameGB,GB2上需要修改成#!/bin/shPROJECT=$1echo ./makeMtk $PROJECT new kernel./makeMtk $PROJECT new kernelech

12、o mkbootimg -kernel kernel/Download/flash/kernel_$PROJECT.bin -ramdisk ./out/target/product/$PROJECT/ramdisk.img -o ./out/target/product/$PROJECT/boot.img./mkbootimg -kernel kernel/Download/flash/kernel_$PROJECT.bin -ramdisk ./out/target/product/$PROJECT/ramdisk.img -o ./out/target/product/$PROJECT/

13、boot.imgICS,ICS2,2上需要修改成:#!/bin/shPROJECT=$1echo ./makeMtk $PROJECT new kernel./makeMtk $PROJECT new kernelecho mkbootimg -kernel kernel/out/kernel_$PROJECT.bin -ramdisk ./out/target/product/$PROJECT/ramdisk.img -o ./out/target/product/$PROJECT/boot.img./mkbootimg -kernel kernel/out/kernel_$PROJECT.

14、bin -ramdisk ./out/target/product/$PROJECT/ramdisk.img -o ./out/target/product/$PROJECT/boot.imgFAQ03127 当修改一些代码时,使用什么编译命令可以最有效率FAQ发布时间:2014-01-25Platform:MT6575MT6577MT6589MT6572MT6582MT6588MT6592Branch:GB2ICSICS2GB32359FAQ ContentDESCRIPTION当修改一些代码时,使用什么编译命令可以最有效率Keyword编译命令修改代码最有效率快速编译SOLUTION1: ./mk n(r) kernel; ./mk bootimage;当修改build-in 到kernel相关代码时,要使用此命令,具体文件参考如下:alps/kernel/ alps/mediatek/platform/mt65*/kernel/alps/mediatek/source/kernel/alps/mediatek/coustom/mt65*/kerne

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号