asysbang

 找回密码
 立即注册
查看: 6752|回复: 0
打印 上一主题 下一主题

系统定制汇总

[复制链接]

513

主题

2

好友

6404

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2013-4-24 20:07:39 |只看该作者 |倒序浏览
转载请注明:www.asysbang.com

对于做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

      默认输入法:android默认没有这个定制的接口,可以参考上面的INSTALL_NON_MARKET_APPS自己添加个DEFAULT_INPUT_METHOD

                           需要在DatabaseHelper添加loadStringSettings  以及在defaults.xml添加对应的字符串

                           因为输入法的service启动之后也是读取settingsprovider的数据库的
      
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的队列中

         

  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|aSys-帮 ( 京ICP备13033689号 )

GMT+8, 2024-10-6 01:39 , Processed in 0.154895 second(s), 19 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部