感谢这位老哥:https://blog.csdn.net/qq_33826580/article/details/107125249,先说结论,mtk平台的客制化内容对部分资源文件进行了覆盖重写,导致修改Systemui下的某些资源文件无效

编译报错:missing and no know to make it 这是一些测试类,将其下的Android.mk文件更改名字就行,这里是tests/Android.mk 和 shared/tests/Android.mk 两个文件
需要更改下音量条的样式,位置,和拉长音量条,刚开始看到需求,这不是很简单?找到位置,十分钟的事情,但却浪费了我一天的时间。
\frameworks\base\packages\SystemUI\src\com\android\systemui\volume\VolumeDialogImpl.java
这样更改就能使音量条显示在底部中间的位置了,lp.y = 100 表示偏移量,不加的话dialog会贴着底部显示,然后就是拉长音量条,再更改样式,同样的位置 initDialog() 方法内


是个嵌套的布局,在 volume_dialog.xml 中的 LinearLayout (LinearLayout 的id 为 android:id=“@+id/volume_dialog_rows”)布局中插入了volume_dialog_rows.xml 这个布局,先更改父布局的宽度。
volume_dialog.xml

先将父类的布局更改成了match_parent,并加了一个背景颜色来看下效果,但发现背景色还是原来的长度,没有变化。
其实在更改的时候就有疑问了,布局中不是垂直布局吗,为啥显示出来是水平的?开始以为不是调用的这个文件,有其他的文件调用,但找了半天没发现再其他地方有类似的布局文件了(只在framework层中找,心想不可能调用到外面去吧),确认指定的资源文件是正确的。
就想是不是有缓存之类了,于是删除了下面的文件,重新编译也重新生成了,但无语了,依旧不行!!!


最后删除了volume_dialog.xml 和 volume_dialog_row.xml 两个布局文件,重新编译,心想应该会报未定义的错误吧,结果竟然编译通过了,找了很多地方,第一次这么希望能报错,最后还是那位老哥说的,有overlay替换资源,结果一查果真
可以通过grep命令在device目录下查找,因为可能不止一套overlay文件,真正使用的资源文件有可能在对应芯片型号的文件夹,也可能在google文件夹下,与lunch也有关系,根据实际情况修改生效的资源文件就好

删除这里的文件再编译,终于报错了

之后正常更改就行了