安装包图标

blocker

操作 Android 应用四大组件
Blocker是一款操作Android应用程序四大组件的程序。它支持多种不同的控制器控制组件,目前支持的有使用软件包管理器方式(PackageManager)和意图防火墙模式(Intent Firewall)。支持无缝切换使用模式,导入导出Blocker规则,导入导出纯IFW规则,兼容MyAndroidTools规则导入,或是将其转换为Intent Firewall规则导入。

优点
1. 轻量级程序,不会给系统增加负担。
2. 易于使用,界面直观。
3. 兼容多种方法禁用。

控制模式介绍
PM模式
PM是Package Manager的简写,译为软件包管理器。其由Android操作系统提供,主要用于查询手机上已安装的应用详细信息、进行管理操作。其提供一个```setComponentEnabledSetting(ComponentName, int, int)```的接口,应用程序可以调用此接口来对自身组件进行状态控制。在正常模式下,调用此接口无法对第三方应用进行操控,对非本应用进行组件控制需要有signature等级的权限。

所幸Android在Shell下提供了一个pm工具,用户可以在命令行下对应用的组件进行操作。不过成功运行此命令需要有Root权限。

```
pm disable [PackageName/ComponmentName]
```

无论是调用系统API还是在命令行调用PM工具,应用组件状态变化最终写入```/data/system/users/0/package
restrictions.xml```文件下。

IFW模式 (默认模式)
Intent Firewall(IFW, 意图防火墙)自Android 4.4.2(API 19)版本后被引入,在目前的最新版本中仍然有效。Intent Firewall被集成在Android Framework中,用于过滤应用程序的启动意图(Intent)。

IFW能做的事
Android下发起的每一个启动应用组件的意图(Intent), 都需要经过此防火墙的过滤。它甚至有能力过滤系统程序发出的请求。防火墙的过滤列表定义在一个XML文件
当中,当文件发生变化,防火墙会即时更新过滤规则。

IFW的限制
基于安全考虑,只有拥有System权限的系统应用才可以直接读取修改配置文件所在目录,第三方应用程序无法读取改写过滤规则。

IFW相比于PM的优点
IFW是防火墙,新增/删除防火墙规则对组件状态无影响。程序探测的组件状态是启用,但是就是无法启动该组件。

Package Manager是直接禁用了对应组件。若是试图启动被禁用的组件,程序会抛出异常退出。开发者可以根据抛出的异常或者根据探测到的组件状态,通
过系统API重新启用相关组件。这就是为什么使用此模式,运行软件有的时候会崩溃,有些组件会自动启用的原因。使用IFW模式则无此问题,不会崩溃,也不会自动启用。

UI
本应用遵循Material 3 界面规范(https://m3.material.io/)开发。

非常感谢我们的UI设计师: @COPtimer (https://github.com/COPtimer)

UI元素完全使用Jetpack Compose进行构建。

应用程序有两个预定义主题:
动态颜色 - 根据用户当前的颜色主题使用颜色;默认主题 - 在不支持动态颜色时使用预定义的颜色。
同时每个主题还支持暗模式。

负面特征

此应用有一些你未必喜欢的特征。 Learn more!

捐赠

版本

尽管下面提供了 APK 安装包的下载选项,但你应该注意,以这种方式安装将不会收到更新通知,这是一种不太安全的下载方式。 我们建议你安装使用 F-Droid 客户端。

下载 F-Droid
  • 版本 2.0.3058-fdroid (3058) 推荐 更新于 2023-11-13

    该版本需要 Android 5.0 及以上版本。

    此安装包由 F-Droid 构建并签名,且保证与此源代码 tarball 保持一致。

    权限
    • 拥有完全的网络访问权限
      允许此应用创建网络套接字和使用自定义网络协议。浏览器和其他应用提供了将数据发送到互联网的方法,因此不需要此权限将数据发送到互联网。
    • 运行前台服务
      允许此应用使用前台服务。
    • 显示通知
      允许该应用显示通知
    • 运行“dataSync”类型的前台服务
      允许该应用使用“dataSync”类型的前台服务
    • 查看网络连接
      允许此应用查看网络连接的相关信息,例如哪些网络存在并处于连接状态。
    • moe.shizuku.manager.permission.API_V23
    • moe.shizuku.manager.permission.API
    • 查询所有软件包
      允许应用查看所有已安装的软件包。
    • 防止手机休眠
      允许此应用阻止手机进入休眠状态。
    • 开机启动
      允许此应用在系统完成引导后立即启动。这样可能会延长开机时间,并因始终运行而降低手机总体运行速度。
    • com.merxury.blocker.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下载 APK 5.2 MiB PGP 签名 | 构建日志

  • 版本 2.0.2976-fdroid (2976) - 更新于 2023-10-30

    该版本需要 Android 5.0 及以上版本。

    此安装包由 F-Droid 构建并签名,且保证与此源代码 tarball 保持一致。

    权限
    • 拥有完全的网络访问权限
      允许此应用创建网络套接字和使用自定义网络协议。浏览器和其他应用提供了将数据发送到互联网的方法,因此不需要此权限将数据发送到互联网。
    • 运行前台服务
      允许此应用使用前台服务。
    • 显示通知
      允许该应用显示通知
    • 运行“dataSync”类型的前台服务
      允许该应用使用“dataSync”类型的前台服务
    • 查看网络连接
      允许此应用查看网络连接的相关信息,例如哪些网络存在并处于连接状态。
    • moe.shizuku.manager.permission.API_V23
    • moe.shizuku.manager.permission.API
    • 查询所有软件包
      允许应用查看所有已安装的软件包。
    • 防止手机休眠
      允许此应用阻止手机进入休眠状态。
    • 开机启动
      允许此应用在系统完成引导后立即启动。这样可能会延长开机时间,并因始终运行而降低手机总体运行速度。
    • com.merxury.blocker.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下载 APK 5.1 MiB PGP 签名 | 构建日志

  • 版本 2.0.2942-fdroid (2942) - 更新于 2023-10-27

    该版本需要 Android 5.0 及以上版本。

    此安装包由 F-Droid 构建并签名,且保证与此源代码 tarball 保持一致。

    权限
    • 拥有完全的网络访问权限
      允许此应用创建网络套接字和使用自定义网络协议。浏览器和其他应用提供了将数据发送到互联网的方法,因此不需要此权限将数据发送到互联网。
    • 运行前台服务
      允许此应用使用前台服务。
    • 显示通知
      允许该应用显示通知
    • 运行“dataSync”类型的前台服务
      允许该应用使用“dataSync”类型的前台服务
    • 查看网络连接
      允许此应用查看网络连接的相关信息,例如哪些网络存在并处于连接状态。
    • moe.shizuku.manager.permission.API_V23
    • moe.shizuku.manager.permission.API
    • 查询所有软件包
      允许应用查看所有已安装的软件包。
    • 防止手机休眠
      允许此应用阻止手机进入休眠状态。
    • 开机启动
      允许此应用在系统完成引导后立即启动。这样可能会延长开机时间,并因始终运行而降低手机总体运行速度。
    • com.merxury.blocker.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下载 APK 5.1 MiB PGP 签名 | 构建日志