1,复制一份theme-res-demo
2,命名 eg.目录名 theme-res-default ,其中Android.mk中要将theme-res-demo 全部改成theme-res-default,AndroidManifest.xml中修改包名。
3, 对应资源名需要在 frameworks/base/data/etc/thememap.xml 有对应的,注意apk命名路径
4,配置一个应用的资源时,不要有空的root文件夹,起码要有 launcher3/res这个目录结构
5,copy_res.pl脚本是将除root = res 目录的其他app的资源重命名cp 到res下,如果在编译完成后发现修改的res未生效,最好先在root = res 目录下找看是否有对应资源,名称前面会被加一个”settings_“类似前缀。
6,默认主题配置,修改Android.mk 中 LOCAL_PACKAGE_NAME := theme-res-default
$(call intermediates-dir-for,APPS,theme-res-default,,COMMON)/package-export.apk:$(call intermediates-dir-for,APPS,framework-res,,COMMON)/src/R.stamp$(call intermediates-dir-for,APPS,theme-res-default,,COMMON)/package-export.apk:$(call intermediates-dir-for,APPS,mediatek-res,,COMMON)/src/R.stamp
目录名可以自定义,可用于区分不同客户的默认主题,主题app_name也可以根据目录名取,关键在LOCAL_PACKAGE_NAME := theme-res-default
7,主题内部子项apk资源名配置,thememap.xml中module name="aaa" path="xx/xx/aaa.apk" 其中name名要和apk名字一致,在主题资源路径下,文件夹命名为apk名字全小写。
8,找到应用icon,首先在launcher 建立一个shortcut,然后在launcher数据库中查看favorite表,最后一条数据即是刚添加的shortcut的有关信息,然后根据包名在data/system/package.xml里找到对应apk名称;然后再根据apk名称找到对应app源代码,然后更查看源代码中<application />通常可以找到应用icon名称,这时候再根据MTK Projectconfig.mk 中宏MTK_PRODUCT_AAPT_CONFIG确定系统应用编译完成drawable保留资源文件夹,如果icon是在drawable 文件夹下的就更该注意了,应该apk在打包后只有 宏MTK_PRODUCT_AAPT_CONFIG配置的文件夹资源,所以覆盖也应该覆盖对应的。如果icon是在mipmap文件夹下,那就要根据屏幕分辨率来确定采用mipmap-xhdpi还是其他了,通常1280*720 为xhdpi ,1920*1080 为xxhdpi.因此对于当前项目,icon采用drawable是xhdpi,mipmap是xxhdpi。