zoukankan      html  css  js  c++  java
  • Funui-overlay 如何添加theme 的 overlay

    昨天更改theme主题的时候,发现所有仓库下的theme都是共用的。也就是说,如果你更改了52平台下的theme,那么你提交了代码以后,82下也会发生相应的更改。但是,昨天修改的theme属性,只在32下添加了。所以到了82下开始报错。避免的方法就是在32下打个overlay,这里解释下overlay的作用,它跟theme相似,就是根据一定的原则,对原有的代码或者资源进行替换。例如

       如果你overlay中有一个xml文件,而某个应用下也有一个相同名称的xml文件,那么在编译的时候,就会用这个xml替换掉那一个进行编译。所以,你也大概能看出来它跟那个theme机制的异同点了。

        相同点:资源替换覆盖

         不同点:一个发生在编译期间,一个发生在运行期间

       另外,它跟patch不同点就是

          它是完全覆盖,patch是打入差异

    具体的实现步骤

    1.在相应的theme完成适配 /vendor/themes/Grass,代码如下

    <?xml version="1.0" encoding="UTF-8"?>
    <resources>
        <style name="FileManager.Theme" parent="@android:style/Theme.Funui">
            <item name="*android:searchViewTextColor">@color/search_color</item>
            <item name="*android:searchViewTextColorHint">@color/search_hint_color</item>
            <item name="*android:searchViewSearchIcon">@drawable/com_mediatek_filemanager_search_image</item>
        </style>
    
        <style name="FileManager.Theme.NoActionBar" parent="@android:style/Theme.Funui.NoActionBar">
        </style>
    </resources>

    2.到overlay目录下 /vendor/vanzo_custom/overlay_projects/vendor/themes

    这个必须跟你打overlay的项目有着相同的目录

    3.在这个目录下,创建相对应的应用目录mkdir Grass;cd Grass;

    4.对需要替换的文件目录规则命名 res.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs_tphone

    命名规则 目录(res)+overlay+项目(有固定的命名规则)

    overlay:昨天弄了好久都没有效果,问题就出在这里,因为忘了增加它了

    项目命名规则:这个如果你不知道,可以执行下面的指令,来找

    ~/PROJECT/PROJECT_V5/mt6752_h560_x9pro-fhd_ousheng_cc_kk_lte_5m-cs_mul_tphone.xml_eng_201502032103$ list_po mt6752_h560_x9pro-fhd_ousheng_cc_kk_lte_5m-cs_mul_tphone

    然后你会发现如下的文件名称

    --------------------------------------------------------------------------------
                                        overlay                                     
    --------------------------------------------------------------------------------
    overlay_projects/bootable/bootloader/lk/dev/logo/cmcc_lte_fhd/cmcc_lte_fhd_uboot.bmp.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs_tphone
         huangfengqi      2014-12-12 14:19:29 +0800
    overlay_projects/build/target/product/vanzo6752_lwt_kk.mk.custom.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs_tphone
           wuhonghai      2015-01-06 19:00:43 +0800
    overlay_projects/frameworks/base/core/res/res/drawable-xxhdpi/default_wallpaper.jpg.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs_tphone
          cuixiaojun      2014-12-03 11:05:03 +0800
    overlay_projects/frameworks/base/data/sounds/custom.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs_tphone
           wuhonghai      2014-12-18 21:13:13 +0800
    overlay_projects/mediatek/config/vanzo6752_lwt_kk/ProjectConfig.mk.bsp.overlay.all_mt6752_h560_projects
              dingge      2014-12-16 22:39:05 +0800
    overlay_projects/mediatek/config/vanzo6752_lwt_kk/ProjectConfig.mk.custom.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs
           wuhonghai      2015-01-04 17:43:33 +0800
    overlay_projects/mediatek/config/vanzo6752_lwt_kk/ProjectConfig.mk.lang.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs_tphone
          cuixiaojun      2014-12-03 15:47:04 +0800
    overlay_projects/vendor/themes/Stars/res.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs_tphone

    找到自己overlay目录跟自己项目名相似的文件就行了,依照它来命名 如overlay_projects/vendor/themes/Stars/res.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs_tphone

    5.把自己需要覆盖的文件目录跟文件夹拷贝 cd overlay_projects/vendor/themes/Stars/res.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs_tphone; mkdir drawable;cp vendor/themes/Grass/res/drawable-xxhdpi/ vendor/vanzo_custom/overlay_projects/vendor/themes/Grass/res.overlay.mt6752_h560_x9pro-fhd_ousheng_cc_5m-cs_tphone/drawable-xxhdpi/

    6.验证自己是不是更改正确 rc;cp update_overlay_files.py build/tools/;./update_overlay_files.py ;如果你进入到相应的应用下,发现相应文件被替换掉了,说明成功了

  • 相关阅读:
    第3次作业:卷积神经网络
    第一次作业:深度学习基础
    CSS基础总结
    Java 9.Spring--AOP
    Java 8.Spring--整合Junit测试
    Java 7.Spring--使用注解
    Java 6.Spring--对象的依赖关系-复杂类型注入
    Java 5.Spring的依赖注入
    Java 4.Spring的对象创建的方法
    Java 3.Spring的对象创建的细节
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_overlay_15020513.html
Copyright © 2011-2022 走看看