弓背霞明剑照霜,秋风走马出咸阳。这篇文章主要讲述android 7.0 (nougat)的编译优化-ninja相关的知识,希望能为你提供帮助。
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
【android 7.0 (nougat)的编译优化-ninja】此外,ninja对循环依赖的处理,不是简单drop调一项依赖,而是直接报错退出,需要谨慎编写Makefile的规则
推荐阅读
- Android 最火框架XUtils之注解机制具体解释
- 三. 200多万元得到的创业教训--创业并不须要app
- android POI搜索,附近搜索,周边搜索定位介绍
- Android 状态栏那些小坑()
- AppletScriptlet与Servlet
- HDU 5303 Delicious Apples (贪心 枚举 好题)
- Ubuntu使用adb连接android手机失败unknown的解决的方法
- Delphi 10.1.2 berlin开发跨平台APP的几点经验
- Android 流媒体播放 live streaming