【Android】Shizuku 加 SystemUI Tuner 实现手机状态栏特定图标隐藏(小米 Hyper OS 3为例)

文章目录

  • 一、序
  • 二、软件介绍和安装
    • [2.1 Android](#2.1 Android)
    • [2.2 ADB](#2.2 ADB)
    • [2.3 Shizuku:本文需安装](#2.3 Shizuku:本文需安装)
    • [2.4 SystemUI Tuner:本文需安装](#2.4 SystemUI Tuner:本文需安装)
  • 三、操作

一、序

好多年没用安卓了,我记得上次我写安卓软件还用的是Java,现在已经变成Kotlin了,还有AI加持😆。

之前看到很多再Android上好玩的东西,比如媒体特调、无法卸载的软件、各种bug等,并且也想自己写点安卓软件(主要是ios上架应用有点小贵😅)。

所以昨天买了一台安卓手机,系统是Hyper OS 3,小米的系统,还是很有名的,不过不是好名声,哈哈。


我并不打算日常使用这个手机,所以不打算给它插sim卡。

而不插卡,状态栏就一直有个未插卡的图标,我想隐藏掉,但是手机系统里面并没有这个选项,不愧是米啊👍。

二、软件介绍和安装

2.1 Android

Android 是由 Google 主导并联合 开放手持设备联盟 (OHA) 开发的,基于 Linux 内核的 开源 移动操作系统。其核心代码以 AOSP (Android Open Source Project) 形式发布,主要遵循宽松的 Apache 2.0 协议,允许厂商深度定制,这是其构建全球最庞大移动生态的根本。

当前版本: Android 16(2025年6月10日,​7个月前)

现在,系统内置 AICore 服务,通过标准 NNAPI 统一调度 NPU 算力,使 Gemini Nano 等端侧大模型能原生运行于系统底层。同时,AVF (Android Virtualization Framework) 利用 pKVM 技术,实现了基于受保护虚拟机的应用隔离,将移动平台的安全性提升至新高度。

2.2 ADB

ADB 的全称是 Android Debug Bridge(安卓调试桥)

它是谷歌官方提供的一个通用命令行工具,它就像是一座"桥梁",连接你的电脑(Windows/Mac/Linux)和你的安卓设备(手机、平板、手表、电视甚至车机)

对于开发者来说,它是用来调试APP、查看日志(Logcat)的必备工具。

但对于普通玩家(搞机用户)来说,ADB 通常用于实现系统本身不直接开放的高级功能:

  • 免Root卸载预装软件: 这是最常用的功能。很多手机厂商自带的APP无法直接卸载,通过 ADB 命令(如 pm uninstall --user 0)可以强制"冻结"或移除它们,让手机更流畅。
  • 无线调试(Wireless Debugging): 早期的 ADB 必须插数据线。现在的安卓版本(Android 11+ 及后续版本)都已经完美支持无线调试。你只需要在手机开发者选项里扫码或输入配对码,就能通过 Wi-Fi 连接电脑进行操作,无需插线。
  • 通过 Shizuku 授权(非常流行): 现在很多高级工具APP(如 Scene、黑阈、冰箱、App Ops)都支持 Shizuku。Shizuku 的原理就是利用 ADB 权限在手机内部建立一个服务,这样你无需电脑,就能在手机上直接管理其他APP的高级权限。
  • 投屏与控制(Scrcpy): 著名的开源工具 Scrcpy 就是基于 ADB 协议的。它能让你在电脑上以超低延迟、高画质操控手机屏幕,甚至在2026年的今天,依然是很多游戏主播和办公用户的首选。
  • 刷机与救砖: 虽然现在刷机的人变少了,但利用 ADB 重启到 Bootloader(Fastboot模式)或 Recovery 模式,依然是修复手机系统故障的标准流程。
  • 调整系统隐藏参数: 比如强制开启某些手机的 120Hz/144Hz 刷新率,修改屏幕分辨率(DPI),或者激活某些被运营商屏蔽的功能。

2.3 Shizuku:本文需安装

Shizuku 是一个运行在 Android 系统上的中间件(Middleware)或服务管理器。它的核心功能是不仅限于 Shell 命令行的形式,而是通过 Android Binder 机制,将 ADB (Shell) 级别的权限授权给设备上的其他普通应用使用

下载安装:https://github.com/RikkaApps/Shizuku

大小只有2MB多,别下载错了。

Google Play 不提供。

工作原理与技术实现:

  • 进程注入与提权:
    • Shizuku 通过 ADB 命令(无论是通过 PC 连接还是利用 Android 11+ 的本地无线调试回环)启动一个 Java 进程(通常使用 app_process)。
    • 由于该进程是由 ADB 启动的,因此它继承了 ADB 的 shell 权限(UID 2000)和安全上下文(SELinux Context)。
    • 这个进程作为 Shizuku Server 在后台驻留。
  • Binder IPC (进程间通信):
    • 这是 Shizuku 与传统"执行 Shell 命令"方案的本质区别。
    • Shizuku Server 利用 Android 的 Binder 机制暴露接口。
    • 第三方应用(Client)集成了 Shizuku API 后,可以直接通过 Binder 与 Shizuku Server 通信。
    • Shizuku Server 接收到请求后,利用其持有的 shell 权限调用 Android Framework层的 Java API(如 IActivityManager, IPackageManager)。

ADB和Shizuku的关系:

  • ADB 是 Android 系统原生的调试接口,它是 Shizuku 能够运行的"诱因"和"基石"。没有 ADB 提供的初始 Shell 权限,Shizuku 无法启动。
  • Shizuku 是 ADB 权限的"容器"和"分发者"。它将原本只能通过文本命令行交互的 ADB 权限,封装成了现代化、程序友好的 Java Binder 接口,供设备内的 App 直接调用。
特性 ADB (Android Debug Bridge) Shizuku
存在位置 主要是 PC 端工具 + 手机端守护进程 纯手机端驻留进程
交互方式 命令行 interface (CLI) Binder IPC (API 调用)
应用场景 开发者调试、外部设备控制 手机内部 App 获取高级系统权限
权限来源 Android OS 预留的调试通道 继承自 ADB
对由于 Root 的影响 无需 Root 无需 Root

即:ADB 是外部控制 Android 设备的特权通道,而 Shizuku 是利用该特权通道在 Android 用户空间构建的一个高权限 Binder 服务代理。

2.4 SystemUI Tuner:本文需安装

前面刚讲过:Shizuku将 ADB 权限,封装成了现代化、程序友好的 Java Binder 接口,供设备内的 App 直接调用

那现在,我们就要来用了。

使用的软件就是:SystemUI Tuner,在Google Play 里面下载。

SystemUI Tuner (by Zachary Wander) 是一个利用 ADB 权限修改原生 Android 隐藏参数的工具。


核心功能包括但不限于:

  • 状态栏图标管理: 隐藏不想看到的图标(如 VPN、蓝牙、闹钟、VoLTE 等),只保留你想要的。
  • 沉浸模式(Immersive Mode): 强制某些应用全屏运行,隐藏状态栏和导航条。
  • 锁屏快捷方式修改:(在部分旧版本或原生 Android 上)修改锁屏左右下角的快捷方式。
  • 时间显示微调: 显示秒数。

不过这些功能并不是在所有厂商的手机上都能实现,

  • Pixel / Moto / Sony / Nokia(类原生系统):兼容性极佳。因为这些系统保留了 Google 原生的代码逻辑,APP 发出的修改指令会被系统立刻执行。
  • Samsung (OneUI) / Xiaomi (HyperOS/MIUI) / OPPO (ColorOS) / Vivo (OriginOS):兼容性较差或失效,某些选项能不能用就自己测试。
    • 原因: 像三星、小米这样的厂商,为了实现自己独特的 UI 风格,重写(Override) 了系统界面的底层代码。他们不再读取 Android 标准的"隐藏图标配置文件",而是读取厂商自己的私有文件。

三、操作

简单概括一下:手机打开无线调试功能,与Shizuku连接,SystemUI Tuner再与Shizuku连接,就可以来修改手机的一些设置了。

🟢 (1)打开手机的开发者模式

尽管各品牌界面 UI 不同,核心逻辑都是"在'关于手机'里猛点'版本号'"。

下表仅供参考,失效请百度:

品牌 / 系统 第一步:进入路径 第二步:核心操作 成功提示
小米 / Redmi / POCO (HyperOS / MIUI) 设置 → 我的设备 → 全部参数与信息 连续点击 "OS 版本号" (或 MIUI 版本) 7次 提示"您现在处于开发者模式"
三星 (Samsung) (One UI) 设置 → 关于手机 → 软件信息 连续点击 "编译编号" (Build number) 7次 提示"开发者模式已启用"
OPPO / 一加 / 真我 (ColorOS / OxygenOS) 设置 → 关于本机 → 版本信息 连续点击 "版本号" 7次 提示"您已处于开发者模式"
vivo / iQOO (OriginOS / Ocean) 设置 → 系统管理 / 关于手机 → 版本信息 连续点击 "软件版本号" 7次 提示"您已进入开发者模式"
华为 (Huawei) / 荣耀 (HarmonyOS / MagicOS) 设置 → 关于手机 连续点击 "版本号" 7次 提示"您已处于开发者模式"
Google Pixel / Moto / Sony (原生 Android) 设置 → 关于手机 (可能在最底部) 连续点击 "版本号" (Build number) 7次 提示"You are now a developer!"
魅族 (Meizu) (Flyme) 设置 → 我的手机 (或关于手机) 连续点击 "系统版本""版本号" 7次 提示开启成功

华为升级纯血鸿蒙系统后,应该无法使用ADB。毕竟不是安卓了嘛。

开启成功后,"开发者选项"这个菜单通常会出现在以下位置(不同品牌略有不同):

  • 原生/三星: 设置 → 系统 → 开发者选项
  • 小米/OV/华为: 设置 → 更多设置 (或系统和更新) → 开发者选项

🟢 (2)打开调试相关功能

在开发者选项里面操作。

打开这几个选项:

  • 忘记打开也没事,后面使用的软件会提示你打开xxx,都是中文,写的也很清楚。
  • USB调试(安全设置):这个开关,需要手机插上sim卡才能打开,那没办法了,我拔一张插上吧。

🟢 (3)Shizuku无线调试配对

打开Shizuku,点击配对

上图中的分步骤指南,自己也可以看一下。

点击后软件会转到一个提提示页面,会提醒你要开启哪些设置,不同的手机可能不同,自己检查一下。

现在转到步骤2里面的无线调试页面,开启开关,点击使用配对码配对设备

拉下左侧状态栏,填入配对码:

显示配对成功,就可以了,如果有问题,就在Shizuku里面看看提示和教程,检查一下。

🟢 (4)使用SystemUI Tuner连接Shizuku

不要关闭Shizuku

打开SystemUI Tuner,首次打开,会申请一些权限,都允许。

它也提示了:

然后与Shizuku连接就行了,这些就不截图了,自己都能操作。

进入后,有很多可选项:


自己按需修改即可,本文是隐藏状态栏无sim卡的图标,状态栏--图标黑名单--自动

mobileno_sim 的图标关了。

插卡的时候确实可以隐藏图标,但是拔掉后,无sim卡的图标还在,事了其它所有选项均无效。


我还尝试了:

  • Shizuki无线连接电脑,使用adb命令隐藏,也无效;
  • 开启飞行模式(wifi哪些打开),隐藏飞机图标,失败。

还有最后一招,插一张无效的sim卡,然后隐藏图标。

我插了一张未激活的sim卡,然后隐藏mobile图标,直接在电脑操作的,命令:

c 复制代码
./adb shell settings put secure icon_blacklist mobile 

SystemUI Tune中关闭mobile一样的。

现在实现了最初的目的:

  • 为了避免可能的,未激活卡也会搜索网络之类的,耗费电量,这个不确定,猜测。
  • 拨号键盘输入:*#*#4326#*#*,点击手机信息1(卡在这个卡槽),关闭:移动无线装置电源
    • 我是瞎折腾的,这不是我日常使用的手机,关闭这个电源,应该是无法使用SOS了 ,这是给射频、基带相关模块供电的,或者说为蜂窝网络供电(wifi、蓝牙、NFC、GPS不是这个供电)。
    • 你会发现,用流量下载东西的时候,基带附近发热量挺大的。

最终结论就是:厂商定制程度高的Android系统,如果系统本身没有相关选项,那么使用ADB可能也难以修改,因为厂商把Android原生的接口隐藏了,使用的是自己重新定义(包装)的接口。


属于纯瞎折腾了😅

相关推荐
simplepeng17 小时前
我们都知道但总是忽略的5个Jetpack Compose细节
android·android jetpack
刮风那天17 小时前
Android 如何提高进程优先级避免被查杀?
android
萑澈18 小时前
如何在Rocky Linux 8单节点集群上安装Apache Hadoop
adb
修行者对66619 小时前
安卓阿里云镜像
android
刮风那天19 小时前
Android AMS创建进程不用Binder而用Socket?
android·java·binder
知行合一。。。21 小时前
Python--05--面向对象(继承,多态)
android·开发语言·python
张小潇1 天前
AOSP15 WMS/AMS系统开发 -窗口动画源码分析
android
程序员陆业聪1 天前
Shadow核心原理:壳子Activity与代理机制的精妙设计
android
plainGeekDev1 天前
Android 开发者再不转Kotlin,真的来不及了
android·kotlin
赏金术士1 天前
第五章:数据层—网络请求与Repository
android·kotlin·compose