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模拟器经常断开的问题 ...
最新文章
- 青龙面板多容器教程、一键多容器
- java real football_Java学习--设计模式之行为型模式(三)
- 32查运行内存的map文件_Linux进程间通信——内存共享映射
- 【OS】课设记录总结+进程整理
- win7系统服务器环境配置,windows7系统安装与配置Tomcat服务器环境
- 多点积分又改规则了_2020年落户广州积分入户名额有多少个?如何加分?
- 引用Nuget包Microsoft.EntityFrameworkCore.Tools.DotNet报错
- hfss史密斯图_HFSS仿真工程实例 (微波器件).ppt
- 解决Android 4.0以上版本中OptionsMenu菜单不显示ICON图标的问题
- Java Excel 列号数字与字母互相转换
- 论文页码不连续?经常改不对?教你一招立马解决
- Java 小数保留小数位数的方法
- Chrome插件安装以及常见问题
- vue-pdf打印出现方字块乱码问题
- Eureka 没凉,别过度悲伤
- 易语言查找过滤相同重复文本源码
- 数据分析在微博营销中的应用
- java和前端哪个好学_前端好学还是Java好学?
- 给Java小白,整理一套能上手的简单编程算法题【含答案】!!!
- idea用maven搭建的web项目没有src目录只有pom解决方案(最暴力,最简单版本)
热门文章
- NAND Flash、NOR Flash、ROM、RAM、DRAM、SRAM和FLASH的区别解析
- 基于kingscada的自动绕线机工程,仿真绕线,硕子来回绕线形成线团自动运送到仓库
- 设计模式-结构模式-装饰器模式 decorater
- 主梁弹性模量计算_4主梁作用效应计算-金锄头文库
- 前端面试总结 -- 网络基础之 HTTP 和 HTTPS
- 如何写互联网产品分析报告,从哪些方面入手?
- 牛顿插值c语言分析作业,牛顿插值函数C语言程序实现
- 公开课计算机原理,《计算机的基本工作原理》公开课材料
- SurfaceFlinger服务的启动
- “Script“ 标签