android编译做cmcc分支宏
做cmcc分支,我们需要将heathd的唤醒间隔设置短一点,但是又在一个主分支上着就需要做宏。
具体我们可以编译的时候带参数:
make BUILD_MASS_PRODUCTION=false
后面参数的意思就是不是量产分支,这样我们就认为是cmcc分支。
一、局部修改
我们的第一反应可以在heathd的Android.mk中修改如下:
ifeq ($(strip $(BUILD_MASS_PRODUCTION)),false)
LOCAL_CFLAGS += -DCONFIG_IS_CMCC
endif
这样在heathd中,就定义了CONFIG_IS_CMCC这个宏了。
在healthd.cpp的修改如下:
#ifdef CONFIG_IS_CMCC
#define DEFAULT_PERIODIC_CHORES_INTERVAL_SLOW (60 * 10 * 6)
#else
#define DEFAULT_PERIODIC_CHORES_INTERVAL_SLOW (60 * 10)
#endif
二、全局修改
这样修改就可以了,但是cmcc分支的宏应该是全局的,而不是每修改一次就在修改的Android.mk中增加LOCAL_CFLAGS。
于是我们可以在common下的device.mk中修改如下:
ifeq ($(BUILD_MASS_PRODUCTION),true)MASS_PRODUCTION := true
elseMASS_PRODUCTION := falseGLOBAL_FEATURE_CFLAGS += -DCONFIG_IS_CMCC
endif
加入GLOBAL_FEATURE_CFLAGS的话就是全局的CFLAGS了,也就是在所有的c代码中都可以使用CONFIG_IS_CMCC这个宏了。
而java中要做宏的话怎么办,
PRODUCT_PROPERTY_OVERRIDES += \ro.build.mass.production=$(MASS_PRODUCTION)
java的话我们通过属性了。
三、注意
但是有一点需要注意上面在common下的device.mk中为GLOBAL_FEATURE_CFLAGS加flag,要注意后面的mk文件会不会把GLOBAL_FEATURE_CFLAGS 这个变量清除,如果清除我们要在清除那个mk文件后面加这个操作。
还有一点,java的属性是否生效可以用getprop命令查看,一般需要make clean后,在make才生效。GLOBAL_FEATURE_CFLAGS 的话是一个编译项,只要编译就生效。
android编译做cmcc分支宏相关推荐
- Android 编译之make基础(转)
Android 编译之make基础 原文链接 qiuxintai 0.498 2020.10.14 18:52:40 字数 13,246 阅读 2,631 引言 做android系统相关的开发已经有几 ...
- Android 编译过程介绍,Android.mk 和 Android.bp 分析, 在源码中编译 AndroidStudio 构建的 App
目录 一.Android 编译 1. 编译流程 2. Soong 介绍 3. build.sh 二.Android.mk 解析 三.Android.bp 解析 1. 模块类型 2. 模块属性 四.An ...
- Android编译流程
目录 一.编译流程 1.初始化编译环境 2.选择编译平台 3.开始编译 二.Soong工具 1.Soong工作原理 2.转换关系 三.make流程 1.编译开端main.mk 2.编译配置config ...
- android编译全过程
android编译全过程 (2011-06-04 15:27) 标签: android编译 android 模块编译,mm 命令 如果你只需要修改某一个模块的内容,但是却每次都要执行make, 最 ...
- android 编译主机,Android】源码编译 ---zzz
问题解决 参考 1)/bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: 权限不够 解决:chmod a+x ...
- Android编译默认英语,Android 编译系统 (一)
1.Makefile & Android build system 在进行讲述Android编译系统之前,应该先了解一下编译时所使用的Makefile,或者说复习下这方面的知识,这样才能更好的 ...
- [Android编译(二)] 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机
1 前言 经过一周的奋战,终于从谷歌官网上下载最新的Android 6.0.1_r62源码,编译成功,并成功的刷入nexus6p,接着root完毕,现写下这篇博客记录一下实践过程. 2 简介 自己下载 ...
- 美图Android编译速度优化实践指南
分享嘉宾:张仙华 美图 资深开发工程师 分享嘉宾:张仙华,美图秀秀android团队资深研发工程师,负责编译加速.性能优化.架构设计等公共基础相关工作 导读:本文的主题是美图秀秀的Android编译速 ...
- Android编译及编译脚本、Android构建基础学习笔记
Android编译及编译脚本.Android构建基础学习笔记 Android编译及编译脚本 概述 Android.mk转换成Android.bp 例子(简单Android.mk文件转Android.b ...
最新文章
- python语言编程环境-python语言开发搭建电脑环境的方法
- access mysql 同步_使ACCESS数据库保持同步
- php 转化数字,php实现中文转数字
- Docker_容器命令
- 一眼看穿的最佳图像标记工具!
- python27.dll引起的appcrash_python27.dll错误代码126怎么解决
- PHP从零开始--字段修饰符数据操作SQL语言
- 最优化课堂笔记06-无约束多维非线性规划方法(含重点)
- 2-10 就业课(2.0)-oozie:9、oozie与hue的整合,以及整合后执行MR任务
- greenplum 查询出来的数字加减日期_POLA宝丽美白精华怎么查看生产日期保质期?保质期时间是几年的?查批号在哪里查?...
- iphone编译警告
- 滴滴顺风车回归倒计时!
- Mysql 电商常用的时间操作(当天,昨天,7天,30天,半年,全年,季度等等)...
- Using WIN32 calling convention 阅读笔记
- 程序员眼中的统计学(3)】概率计算:把握机会
- 2021非科班生的Java面试之路,java思维导图笔记
- 盖茨自说不善招聘、管理:善于“借力”
- XYIXY.COM短网址在线生成,快速、稳定、永久有效,免费开放网址缩短API接口。...
- 开发一个基于Dalvik字节码的相似性检测引擎,比较同一款Android应用程序的不同版本之间的代码差异(二)
- separator path php,php常量 DIRECTORY_SEPARATOR 和 PATH_SEPARATOR