• Android9 MTK平台编译 更改systemui 音量条


    感谢这位老哥: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也有关系,根据实际情况修改生效的资源文件就好
    在这里插入图片描述
    删除这里的文件再编译,终于报错了
    在这里插入图片描述
    之后正常更改就行了

  • 相关阅读:
    “它经济”盛行,宠物食品行业如何做好口碑营销
    【nodejs状态管理: Redux VS Mobx】
    微服务工程中,基础组件应用
    Linux进程学习—进程的创建、控制与退出
    MaterialDesign组件
    【COMP305 LEC6 LEC 7】
    latex中appendix附录怎么写
    pyModbusTCP 读取零点 CN- 8031 /CT-121F DI 数字输入
    ChatGPT 和 Midjourney 将改变我们的生活,日常工作流程将完全改变并与这些新型工具集成
    汽车维修保养小程序,汽车维修小程序
  • 原文地址:https://blog.csdn.net/weixin_44128558/article/details/125396703