最近在做一个给应用套图的工作,和主题类似,系统自带软件有做好的图,如联系人,浏览器等,第三方软件会自动套一张图作为背景,类似一个主题,但是就是这个小功能耽误了我几天的时间!
在开发中我有一个不是很规范的习惯,图片资源并不总是放在与平板和手机适配的分辨率下(只有一套图的时候),而是随便找一个分辨率就放进去了,因为只有一套图,其他分辨率中没有,总想着肯定能编译到,但这次却吃了个亏,编译完成push后,图标全变成了默认的机器人!打log后发现图片id存在,可是用系统方法根据id却找不到相应的图片,费尽千辛万苦,各种查资料之后,才从out/target/product/project-name/system/framework/framework-res.apk中发现我放资源的那个文件drawable-mdpi根本没编到,最后找到project.mk发现其中定义了个宏,对需要编译的分辨率做了限制,只编译hdpi和xhdpi。。。最后将图片放到xhdpi下,new整个工程,完美通过!
这个教训告诉我,规范很重要,资源一定要放在适配的分辨率下,编译前一定要搞清楚其他相关地方是否做了限制,以免事倍功半!