TaskBar adb 授权命令详解——强制应用可调整大小
为什么需要 adb
Android 的系统安全模型不允许普通应用随意修改「强制应用可调整大小」这种系统级设置。TaskBar 需要拿到 WRITE_SECURE_SETTINGS 这类特殊权限才能正常工作,而这些权限只能通过 adb(Android Debug Bridge)从电脑端授予一次。
这个设置是持久化的——做完一次,以后不用再执行(除非刷机或恢复出厂)。
前置准备
1. 安装 ADB
电脑上需要有 adb 工具:
- Windows:下载 Android Platform Tools,解压后把路径加到系统 PATH
- Mac:
brew install android-platform-tools - Linux:
sudo apt install android-tools-adb
或直接用独立的 Platform Tools 包,解压即可用(不需要完整 Android Studio)。
2. 开启 USB 调试
手机设置里:
- 进入「开发者选项」(没有的话去「关于手机」里连续点击「版本号」7 次)
- 打开「USB 调试」
- 用 USB 数据线把手机连到电脑
- 手机屏幕上会弹出「允许 USB 调试」——勾上「总是允许」然后点确定
3. 确认设备连接
在电脑命令行里执行:
adb devices
应该能看到你的设备序列号在列表里,状态是 device(不是 unauthorized)。
自由窗口命令(Android 8.0 / 8.1 / 9)
TaskBar 弹窗里会给出类似这样的命令:
adb shell settings put global enable_freeform_support 1
adb shell pm grant com.farmerbb.taskbar android.permission.WRITE_SECURE_SETTINGS
执行:
- 打开电脑命令行(CMD / PowerShell / Terminal)
- 进入 Platform Tools 目录或确保 adb 在 PATH 中
- 一条一条复制粘贴执行
两条命令都没有输出或输出 Success 就是成功。如果有报错,见下方排查。
桌面模式命令(Android 10+)
Android 10+ 的桌面模式也需要 adb 授权,TaskBar 应用内会引导:
adb shell pm grant com.farmerbb.taskbar android.permission.WRITE_SECURE_SETTINGS
部分设备可能还需要:
adb shell settings put global force_desktop_mode_on_external_displays 1
具体以 TaskBar 弹窗里显示的命令为准。
常见报错排查
error: device not found
设备没连上或 USB 调试没开。检查数据线、换接口、确认手机屏幕亮着。
error: no devices/emulators found
手机上的「允许 USB 调试」弹窗没点。亮屏看看。
java.lang.SecurityException: grantRuntimePermission ... Neither user ...
权限授予失败。常见于 Android 13+ 的某些厂商定制版。解决方案:
adb shell appops set com.farmerbb.taskbar WRITE_SECURE_SETTINGS allow
命令执行成功但功能还是不工作
先重启手机。如果还不行,检查:
- TaskBar 版本是否最新
- 是否用对了 TaskBar(不是其他同名应用)
- 有没有其他类似工具(如三星 DeX、小米桌面模式)冲突
adb 连接的替代方式
如果 USB 线不方便,也可以用无线 adb:
# 手机和电脑连同一个 Wi-Fi
adb tcpip 5555
adb connect <手机IP>:5555
adb devices # 确认设备出现
# 执行命令后
adb disconnect
Android 11+ 还支持无线调试(更安全),在开发者选项里开启「无线调试」后扫码配对。
命令安全吗
这些是 Android 开发常用的 adb 命令,TaskBar 弹窗里的命令也是 Google Play 官方文档里的标准做法。做完授权后,TaskBar 的权限不会自动扩散到其他应用,卸载 TaskBar 后权限自动回收。