android编译做cmcc分支宏
来源:互联网 发布:守望先锋帧数优化补丁 编辑:程序博客网 时间:2024/06/05 04:11
做cmcc分支,我们需要将heathd的唤醒间隔设置短一点,但是又在一个主分支上着就需要做宏。
具体我们可以编译的时候带参数:
make BUILD_MASS_PRODUCTION=false
后面参数的意思就是不是量产分支,这样我们就认为是cmcc分支。
一、局部修改
我们的第一反应可以在heathd的Android.mk中修改如下:
ifeq ($(strip $(BUILD_MASS_PRODUCTION)),false)LOCAL_CFLAGS += -DCONFIG_IS_CMCCendif
这样在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 := trueelse MASS_PRODUCTION := false GLOBAL_FEATURE_CFLAGS += -DCONFIG_IS_CMCCendif
加入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 的话是一个编译项,只要编译就生效。
2 0
- android编译做cmcc分支宏
- cmcc
- 编译Android独立分支的方法
- Android 无法通过cmcc wap2.0 test解决
- svn 做分支
- 编译CEF(2171分支)
- Android编译显示没有什么可以做?
- CMCC-Fota
- Unity CMCC
- git创建分支做修改
- ArduPilot稳定版分支编译
- ArduPilot稳定版分支编译
- android CMCC入库,终端不支持短信和彩信重发的问题
- android源码查看所有分支切换分支
- android 分支 详解
- android repo 切换分支
- android repo 切换分支
- android repo 切换分支
- 怎么从MavenCentre和JCenter上自动获取你要的依赖
- 关联规则的R语言代码
- JavaScript高级程序设计(第3版)第二章读书笔记
- sendSubviewToBack,bringSubviewToFront
- Andorid-15k+的面试题。
- android编译做cmcc分支宏
- Android主线程中延时处理
- 【BZOJ2064】分裂
- 函数的参数传递方式
- JAVA技术体系
- 设计模式-外观模式(Facade)
- GridView绑定DataKeyName以及如何取这些值
- 如何无keystore获取apk的签名信息
- java函数回调实现原理