mtk android 编译过程,MTK android 快速编译方法.doc
.
.
[FAQ10625] 提升Android编译速度
Platform: MT6572 MT6582 MT6588 MT6589 MT6592 MT6595 MT6571 MT6582/92+MT6290
Branch: GB3 JB2 JB3 JB5 JB9 GB5 JB7
FAQ Content
[DESCRIPTION]
Android codebase都很大,编译一次都需要花很多时间,如果是preloader/lk/bootimage还好,但是Android的话都是非常久。
实际上这个编译时间还是可以进一步缩短!
?
[KEYWORD]
ccache
编译时间
提升
降低
?
[SOLUTION]
1. 移除modules_to_check
(1). Android默认是所有模块都会编译的(不管需不需要),这个有些冗余,可以通过修改编译系统不编译哪些没有用到的模块
(2). 修改方法:alps/build/core/main.mk
files: 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文件系统的项目(比如72 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_resource_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有效果,但是由于没有编译没有用到的模块,不仅节省时间还节省磁盘空间(节省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].JB版本:prebuilts/misc/linux-x86/ccache/ccache -M 25G
(3).?开启的方法:
??? [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之后新建一行,填写$ENV{"USE_CCACHE"} = 1;
(4).?第1次编译会花多一点时间建立cache,之后即可享受ccache带来的好处,降低所有使用gcc的编译时间,大约25%~30%。
??? [1].可以通过ccache -s查看cache信息,如果满了可以用ccache -C清除所有
mtk android 编译过程,MTK android 快速编译方法.doc相关推荐
- 反编译与反汇编、C++编译过程,包括预编译--汇编--编译--链接
参考:C/C++程序编译流程(预处理->编译->汇编->链接) - ProLyn - 博客园 反汇编和反编译的区别_代码小卒_新浪博客 反汇编与反编译: 汇编:是把汇编源程序转变为目 ...
- Java编译过程、c/c++编译过程区别
Java编译原理 1.Java编译过程与c/c++编译过程不同 Java编译程序将java源程序编译成jvm可执行代码--java字节码. c/c++编译过程: 当C编译器编译生成一个对象的代码时,该 ...
- php编译7教程,PHP7 快速编译安装
PHP7正式版发布啦, 之前没有安装过的,都来安装试一试 . 即将发布的ThinkPHP5 在PHP7环境下也完全兼容, 佩服鸟哥把兼容性做得这么好 快速编译安装PHP7步骤: 第一步: 安装必要一些 ...
- 行程单图片python预处理_GCC编译过程(预处理-gt;编译-gt;汇编-gt;链接)
前言 如果你使用集成环境开发.那么你点击编译按钮就可生成可执行文件.但是C程序从源代码到二进制行程序都经历了那些过程?你知道吗?这些过程集成开发环境在点击编译按钮后都做完了,如果编译没有出错,即可生成 ...
- 【Android 启动过程】Android 应用启动流程 | Activity 启动流程
文章目录 一.Android 系统启动流程 二.Activity 启动流程 一.Android 系统启动流程 打开 Android 手机电源键后 , 先运行 BootLoader , 然后使用 Boo ...
- ibaanalyzer使用教程_ibaPDAclient软件快速设置方法.doc
标准文档 实用文案 ibaPDA 软件大家使用较多,一般使用时需要配置接口板卡,但更多的是直接通过以太网络连接,如果只通过以太网连接现场数据信息,那么软件应当如何配置呢,有无快速配置方法,答案是肯定得 ...
- C++ 编译过程遇到问题快速查找解决
一.在使用cmake创建项目,并在make过程中,遇到以下问题的,这里提供定位问题并解决的相关参考 问题描述:make过程出现如下报错-- [ 82%] Building CXX object CMa ...
- linux 编译链接过程,编译程序 一:linux程序编译过程(一)-编译和链接
大家肯定都知道计算机程序设计语言通常分为机器语言.汇编语言和高级语言三类.高级语言需要通过翻译成机器语言才能执行,而翻译的方式分为两种,一种是编译型,另一种是解释型,因此我们基本上将高级语言分为两大类 ...
- Android模拟器断开原因及快速连接方法
在使用Android Studio.Eclipse,或者React Native开发Android应用时,经常会遇到no connected devices的提示,即Android模拟器经常断开的问题 ...
最新文章
- git安装和使用---本地仓库
- Android进程退出的方法
- Nginx配置服务器静态文件支持跨域访问
- Ubuntu 18.04下的Python和OpenCV的安装
- 原 hibernate与mysql字段类型对应关系
- LeetCode 1984. 学生分数的最小差值
- 计算机网络大学教学大纲,《计算机网络》教学大纲
- 华为服务器型号命名,服务器的命名规则
- tez什么意思_Tezos 与 Ethereum 的区别
- JavaScript符号基础
- led灯光衰怎么解决_如何解决LED灯具照明光衰问题
- 可重构麦轮全向移动机器人分析(图片版)
- 李宏毅机器学习课程---1、机器学习介绍
- 最新cs1.6服务器ip地址,CS1.6服务器IP地址
- IDEA 插件开发 - 创建自定义私有仓库
- 计算机日志查询域用户登录记录,Windows域控制器身份验证登录日志记录和取证...
- Jetson Nano 系列之:25FPS性能优化之路
- 如何将多个图片批量转换成pdf文件?
- 互联网人职业发展之路:三年升高工,七年做架构,十年送外卖
- html图片慢慢消失的事件,[Web前端]用javascript实现默认图片替代未显示的图片