前面的主题用好久了,选了一个新主题。一切配置妥当后,猛然发现它不能显示锁屏通知……

于是,这手机便被我折腾了一晚,以下是详细描述。

MIUI 14 主题位置在哪?

经研究,其位于 /sdcard/Android/data/ 下主题管理器包名目录中 files 下的 /MIUI/theme/.data/ 内,主要存放于 content 目录,不过这个版本的 MIUI 似乎让它的目录结构难以捉摸,因为我从网上了解到,之前可以直接从 /data/system/theme/ 复制当前主题。

我原本的目的是魔改主题让它支持锁屏通知,不过之后我才知道即使我做得到也用不了这样修改后的“第三方主题”,看来我是不懂软件经理的

深入、调试

但是我并没有意识到……内心深处却突然涌出——“快去试试 adb” 的渴望——仅仅因为我的文件浏览器似乎无法复制 sdcard 的上级目录——我以为 MIUI 肯定把主题藏在那些地方了。

Android Studio

那就试试久闻其名的这个吧!它的官网十分容易找到。安装完成后,会弹出报错窗口让你去设置代理。随后是一些利用这个 IDE 调试真机之前的准备工作。

下载 SDK Tools

找到 settings/Languages & Frameworks/Android SDK,右边切换到 SDK Tools,勾选 Android EmulatorAndroid SDK Platform-ToolsGoogle USB Driver。不过不知怎么的,我还勾选了 Command-line Tools 以及 Build-Tools

环境变量

在 Windows 系统变量添加:

  • 名称:Android_Home、值:C:\Users\[系统用户名]\AppData\Local\Android\Sdk;C:\Users\[系统用户名]\AppData\Local\Android\Sdk\platform-tools

编辑 path 变量,其中新建 %Android_Home%

手机的连接

Windows 打开设备管理器,工具栏“查看”中勾选“显示隐藏的设备”,下方便携设备找到手机右键更新驱动程序,接下来弹出的窗口中选择第二项,输入 C:\Users\[系统用户名]\AppData\Local\Android\Sdk\extras\google\usb_driver,下一步。


完成,手机开发者选项打开 USB 调试,数据线连接电脑。经过对手机的一番确认操作,在 Android Studio 工具栏 View 中 Tool Windows 里选 Device Explorer 即可浏览手机上的文件了。


当然之后我才发现白费力气了——似乎没有读写权限。

ADB Shell

经过上面的配置,在 Windows PowerShell 中应该就能用 adb 了。

手机连接 WLAN,打开无线调试,记下 IP 地址和端口号。

回到 Shell:

1
2
adb connect 刚刚记下的IP和端口   # 然后手机确认配对,好像是
adb -s 刚刚记下的IP和端口 shell

没有报错的话,应该就能执行命令了。我尝试发送 find,结果全是 Permission Denied

用和谐的手段?

当我听说 MIUI 的主题管理器可以和谐,我便点开尘封多年的 Shizuku,顺便 Star 了一个依托其的免 ROOT 模块管理器项目。当然最后肯定没成功——这涉及到 Android 底层(core)代码(patch)。

啊,我猛然发现,或许手机里的 MT 管理器是可以复制系统目录文件的。的确,不过我最后却用它的搜索功能,确认我一开始找到的目录是对的,而之后“白费”了力气。

回到正确的目录,把它压缩下来处理好,拖进 MIUI 官方主题编辑器——什么也没发生。


不必担心,我所折腾的对最开始的问题几乎没有作用,最后还是主题管理器内置的模块混搭功能让我勉强满意。蛮好玩的(笑)。