码迷,mamicode.com
首页 > 移动开发 > 详细

android 7.0 (nougat)的编译优化-ninja

时间:2017-05-19 12:59:25      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:tail   版权   mod   sdn   module   class   ras   编写   building   

http://blog.csdn.net/songjam/article/details/52640501

   从官方的定义,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的规则

android 7.0 (nougat)的编译优化-ninja

标签:tail   版权   mod   sdn   module   class   ras   编写   building   

原文地址:http://www.cnblogs.com/jukan/p/6877721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!