今天的bug主要是调试闹钟下面关于地域选择的那个,修改的方法主要是
--进入Deskclock下面通过grep -rn cities_button .找到一个文件./res/layout-land/clock_fragment.xml +54
--修改里面关于gravity属性变为 android:layout_gravity="center"
(这个主要是解决手机时钟在竖屏选择区域的时候,两个控件不再同一个水平线位置)
--进入./res/layout-land/clock_fragment.xml +54,把里面的gravity属性变为 android:layout_gravity="right|center_vertical"
(这个主要是解决在横屏模式下,区域选择图标靠下的问题)
--这时候又遇到了最后一个问题,那就是,当我的手机变为横屏模式的时候,那个添加闹钟的图标会变得比较靠上面。
解决方法,就是把那个背景图标换一下就可以了。就是com_android_deskclock_footer_bg.png
bug调试总结:
今天的bug调试感觉收获很多。虽然自己走了那么多的弯路,但是,每次的失败,从过程来看得话,也是一种成功。
刚开始还是受之前经验的影响,感觉问题可能出现在deskclock。但是,这次没有之前那么狭隘了,当我在deskclock下面没有思路的时候,我还是去framework下面去寻找了一番。无果
后来感觉既然问题直接出在oppo下面,那么自然要在oppo下面修改。这时候,我也是尝试了很多的方法,刚开始考虑的是问题出在控件cities_button上面。后来找到了这个控件,发现是在源码上,当对这个源码进行了修改以后(感觉不应该在这个源码上动手脚的,因为可能会对其他主题造成影响)这个方法其实也奏效了,就是能够实现代码的对齐,也且也没有对其他的主题造成影响。但是,这时候的效果并不好,因为我点击时候的效果,背景图并没有完全充满这个framelayout。但是,也算是解决了这个问题吧。接下来的那个横屏按钮图片,修改方法也是差不多类似的。就是把其中一个属性去掉就行了,这个同样是在源码上修改的。最后一个问题就比较纠结了。就是那个添加闹钟的界面,这个界面奇怪的是,并没有在land文件夹下面定义横屏布局。这样,想要修改属性也无从下手了。最后让默涵帮我看了下,默涵给的建议是,那个背景图片有问题,只需要找魏宇重新做一张图片就可以了。在这之前可以进行一下验证,就是把其他主题下面的图片拷贝过来,覆盖掉就行了。这个方法证明是非常的可行的。
问题总结:
很多时候,自己的思路是正确的,自己也找到了打开答案之门的钥匙,但是,就因为自己在开锁的时候,钥匙正反面插入不对,而导致自己跟正确答案擦肩而过。就比如今天,当我在弄这个的时候,其实我一开始也想到了可能是背景图片的问题,甚至我也找了这张图片就行替换。结果,因为自己替换图片的时候,没有考虑到分辨率而使得没有效果,就放弃了这个尝试。还有就是,自己每次都是用mmx进行烧录,今天听到默涵说,应该尝试下使用./makeMtk mm main/模块名的方式,这样可以查看自己有没有编译错误,而且,以防以后在没有mmx环境下进行工作。他还提到,为了确保百分百的会进行编译,可以执行一下touch AndroidManifest.xml文件。再者,一定要学会尝试验证自己的想法,比如替换,删除等,都可以尝试,毕竟这可以完全让你确定一条路是否可行,也不会在原地打转。关键是,一定要确保自己在验证过程中,没有其他的错误对你的验证造成干扰
烧录只有没有效果的总结:
1.当是没有p2x c,结果烧录成功了,仍然没有效果
2.当我p2x c以后,烧录出现错误,提示说什么文件无效,后来验证发现,因为我当时是在Oppo下面p2x c了,解决方法就是(cc)以后,重头来过。p2x c的正确方法,是在theme目录下
3.当我进行模块烧录的时候,有时候会出现说“system read_only”后来建华告诉我,出现的原因是手机连接有问题,这时候只需要执行一下mount -o remount rw /system就可以了