【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原生的接口隐藏了,使用的是自己重新定义(包装)的接口。


属于纯瞎折腾了😅

相关推荐
2501_944525546 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 预算详情页面
android·开发语言·前端·javascript·flutter·ecmascript
清蒸鳜鱼6 小时前
【Mobile Agent——Droidrun】MacOS+Android配置、使用指南
android·macos·mobileagent
2501_915918417 小时前
HTTPS 代理失效,启用双向认证(mTLS)的 iOS 应用网络怎么抓包调试
android·网络·ios·小程序·https·uni-app·iphone
峥嵘life7 小时前
Android EDLA CTS、GTS等各项测试命令汇总
android·学习·elasticsearch
Cobboo7 小时前
i单词上架鸿蒙应用市场之路:一次从 Android 到 HarmonyOS 的完整实战
android·华为·harmonyos
天下·第二7 小时前
达梦数据库适配
android·数据库·adb
定偶7 小时前
MySQL知识点
android·数据结构·数据库·mysql
iwanghang7 小时前
Android Studio 2023.2.1 新建项目 不能选择Java 解决方法
android·ide·android studio
似霰7 小时前
JNI 编程指南10——从内存角度看引用类型
android·jni
南墙上的石头8 小时前
Android端 人工智能模型平台开发实战:模型服务部署与运维平台
android·运维