系统定制汇总

原文链接:http://asysbang.com/forum.php?mod=viewthread&tid=22

对于做image开发的程序员来说,各种定制是经常遇到的,这里做一个汇总:

1、桌面图标定制
      修改packages/apps/Launcher2/res/xml/default_workspace.xml     pad对应res/xml-sw600dp/default_workspace.xml
      可以用的标签包括 favorite  和   appwidget   
      可以用的属性launcher:packageName  launcher:className  launcher:screen   launcher:x  launcher:y         
      其中appwidget还可以用launcher:spanX  launcher:spanY
      其中favorite 在手机上还可以定义launcher:container="-101"  来定制在hotseat上面的应用

2、系统设置定制  
      frameworks/base/packages/SettingsProvider/res/values/defaults.xml
      默认屏幕超时时间:def_screen_off_timeout
      默认屏幕亮度:def_screen_brightness
      安装非市场下载的应用:def_install_non_market_apps
      
3、系统语言列表定制
     如果不做任何修改,那么系统的语言列表会有几十项语言供选择,那么如何定制这个列表呢?
     build/target/product/full_base.mk               build/target/product/locales_full.mk     build/target/product/languages_full.mk  里面都维护了PRODUCT_LOCALES
     full_base.mk:58    $(call inherit-product, $(SRC_TARGET_DIR)/product/locales_full.mk)     full_base.mk调用       locales_full.mk 
     locales_full.mk:3   $(call inherit-product, build/target/product/languages_full.mk)     locales_full.mk调用 languages_full.mk
     最终PRODUCT_LOCALES被追加的很长,也就有了很多的语言。
     所以只要重新处理下build下面的调用逻辑,修改PRODUCT_LOCALES的值就可以了
     PS:如果一套代码只对应一个产品,可以直接修改,但是如果是多个产品那么就会对多个产品都有影响,需要自己添加标签去控制这个变量

4、系统字体定制
     这个需求不是很多,但是android也提供了对应的定制接口
     frameworks/base/data/fonts/vendor_fonts.xml  可以查看这个文件里面的描述
     只要在产品的mk中用PRODUCT_COPY_FILES把vendor_fonts.xml拷贝到system/etc/fallback_fonts.xml下面就可以了
     实际上在skia解析字体时,会分别解析system_fonts.xml和vendor_fonts.xml里面定义的字体,然后根据vendor_fonts.xml里面定义的顺序,把字体插入到system_font的队列中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值