1,使用config.xml
1)定义字符
eg: define symbol in symbol.xml alps/vendor/mediatek/proprietary/frameworks/base/res/res/values/symbol.xml
2)在config.xml中设置属性值 alps/vendor/mediatek/proprietary/frameworks/base/res/res/values/config.xml
3)在代码中获取该属性值 alps/frameworks/base/services/java/com/android/server/wifi/WifiServer.java
2,使用系统属性(system property)
1)如何使用系统属性
用系统属性替换java功能开关,MTK_GPS_SUPPORT ----> ro.mtk_gps_support
2)使用变量去配置系统属性
使用PRODUCT_PROPERTY_OVERRIDES-PRODUCT_PROPERTY_OVERRIDES
3)如何去配置一个系统属性
首先需要在alps/device/mediatek/common/device.mk中定义这个系统属性,然后需要在每个项目的projectConfig.mk中打开或者关闭它。 4)在哪里配置系统属性
需要在alps/device/mediatek/common/device.mk,这个文件里边配置,因为如果我们将有的系统属性都集中配置在device.mk中的话,那么这个在编译的时候能够更快 的找到这个属性值,这个优先级是比模块的Android.mk的优先级高的。
5)系统属性的编写规范
必须要以“ro”开头,其中里边智能包含数字的字母的组合,还有一些特殊字符,比如“.”,“-”,“_”等等。
6)系统属性的命名方式 比如:MTK_LCA_SUPPORT ----> ro.mtk_lca_support MTK_GEMINI-SUPPORT ---> ro.mtk_gemini_support
7)使用系统属性要注意的地方:
1)即使获取系统属性的值是很快的,但是也不能在线程中随便调用它。
2)系统属性的名称最多就是31个字符,值最91个字符。字符的长度不会影响到内存使用情况
3)要慎重使用字符”.”,因为系统属性使用树结构去维护他的数据结构,所以要谨慎使用点字符,额外的点字符将会创造出额外的树分支。