代码project里面有三仅仅文件都是涉及到各个profile的宏的,各自是:featureoption.java、common/ProjectConfig.mk、product/ProjectConfig.mk.
它们之间是什么关系呢?怎样查看当前project哪些profile是打开的?
[SOLUTION]
common/ProjectConfig.mk和product/ProjectConfig.mk。是用来控制profile 宏的打开和关闭的。在编译时,系统会先查看product/ProjectConfig.mk的宏状态。并设为该处定义的宏状态;若此文件没有该宏,则去查找common/ProjectConfig.mk。编译之后的结果将写在featureoption.java中。
举例说明mt6589 product下MTK_BT_PROFILE_PRXM:
若在alps\mediatek\config\mt6589下,MTK_BT_PROFILE_PRXM=yes,在common/ProjectConfig.mk下。MTK_BT_PROFILE_PRXM=no。则MTK_BT_PROFILE_PRXM是打开的。featureoption.java中会有:MTK_BT_PROFILE_PRXM=yes。
若在alps\mediatek\config\mt6589下,没有MTK_BT_PROFILE_PRXM,在common/ProjectConfig.mk下,MTK_BT_PROFILE_PRXM=no,则MTK_BT_PROFILE_PRXM是关闭的,featureoption.java中会有:MTK_BT_PROFILE_PRXM=no。
三仅仅文件的路径分别为:
alps\mediatek\config\common\ProjectConfig.mk
alps\mediatek\config\mt6589\ProjectConfig.mk
alps\mediatek\source\frameworks\featureoption\java\com\mediatek\featureoption\featureoption.java
JB下:alps\mediatek\frameworks\common\src\com\mediatek\common\FeatureOption\featureoption.java
KK:alps\out\target\product\[project]\obj\JAVA_LIBRARIES\mediatek-common_intermediates\FeatureOption.java