android 7.0 (nougat)的编译优化-ninja
2016-09-23 17:18
423 查看
从官方的定义,ninja大大缩短了android系统的编译周期,android 7.0即nougat上已经默认使用,禁用方式: export USE_NINJA = false
从build/core/main.mk看,ninja要执行两遍main.mk的扫描,第一次执行导入android环境和产品的基本配置信息,但不扫描Android.mk; 第二次扫描时定义BUILDING_WITH_NINJA重新加载main.mk的所有定义
因为以上的小变动,造成droid,droidcore两个target在第一次扫描时不能依赖模块,即Android.mk中的LOCAL_MODULE,否则ninja执行失败.扫描阶段的判断可以用BUILDING_WITH_NINJA:
ifndef BUILDING_WITH_NINJA
#first phrase
else
#second phrase
endif
此外,ninja对循环依赖的处理,不是简单drop调一项依赖,而是直接报错退出,需要谨慎编写Makefile的规则
从build/core/main.mk看,ninja要执行两遍main.mk的扫描,第一次执行导入android环境和产品的基本配置信息,但不扫描Android.mk; 第二次扫描时定义BUILDING_WITH_NINJA重新加载main.mk的所有定义
因为以上的小变动,造成droid,droidcore两个target在第一次扫描时不能依赖模块,即Android.mk中的LOCAL_MODULE,否则ninja执行失败.扫描阶段的判断可以用BUILDING_WITH_NINJA:
ifndef BUILDING_WITH_NINJA
#first phrase
else
#second phrase
endif
此外,ninja对循环依赖的处理,不是简单drop调一项依赖,而是直接报错退出,需要谨慎编写Makefile的规则
相关文章推荐
- android 7.0 (nougat)的编译优化-ninja
- android 7.0 (nougat)的编译优化-ninja
- Android N(7.0) 编译出现ninja_wrapper Error
- Android N(7.0) 编译出现ninja_wrapper Error
- Android使用ant对项目进行编译签名优化打包
- Android学习笔记-Android编译优化,Setting up ccache
- wubi安装ubuntu后,增加swap大小,优化swap的使用参数-----------让ubuntu健步如飞,为编译android源码准备
- wubi安装ubuntu后,增加swap大小,优化swap的使用参数-----------让ubuntu健步如飞,为编译android源码准备
- 命令行编译android程序,欢迎探讨命令行如何使用proguard混淆优化代码
- 关于android编译速度优化
- 使用ant优化android项目编译速度,提高工作效率
- Android使用ant对项目进行编译签名优化打包
- [Android]android stuido优化启动/编译/运行速度
- Android首次启动时间长优化之预编译提取Odex
- 新版Android源码用mmm编译 apk 优化,导致Failure [INSTALL_FAILED_DEXOPT]问题的解决办法
- Android 自动化发布—采用Ant打包的完美实现:编译、合并、签名、混淆、优化、自动运行
- (转)Android使用ant对项目进行编译签名优化打包
- Android使用ant对项目进行编译签名优化打包
- ffmpeg neon优化必看!!android下编译ffmpeg with neon的正确方法(已验证)
- user模式下编译android 代码被proguard优化导致类和变量丢失