[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7247":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},7247,"Hail","aistra0528\u002FHail","aistra0528","Disable \u002F Hide \u002F Suspend \u002F Uninstall Android apps without root.","",null,"Kotlin",5980,210,30,148,0,9,44,192,37,110.97,"GNU General Public License v3.0",false,"master",true,[27,28,29,30,31,32,33],"android","android-application","debloat","non-root","privacy","root","shizuku","2026-06-12 04:00:32","简体中文 | [English](README_EN.md) | [日本語](README_JP.md)\n\n# 雹 Hail\n\n[![Android CI status](https:\u002F\u002Fgithub.com\u002Faistra0528\u002FHail\u002Fworkflows\u002FAndroid%20CI\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Faistra0528\u002FHail\u002Factions)\n[![翻译状态](https:\u002F\u002Fhosted.weblate.org\u002Fwidgets\u002Fhail\u002F-\u002Fsvg-badge.svg)](https:\u002F\u002Fhosted.weblate.org\u002Fengage\u002Fhail\u002F)\n[![Downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Faistra0528\u002FHail\u002Ftotal.svg)](https:\u002F\u002Fgithub.com\u002Faistra0528\u002FHail\u002Freleases)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Faistra0528\u002FHail)](LICENSE)\n\n雹是一款用于冻结 Android 应用的自由软件。[GitHub Releases](https:\u002F\u002Fgithub.com\u002Faistra0528\u002FHail\u002Freleases)\n\n[\u003Cimg src=\"https:\u002F\u002Ffdroid.gitlab.io\u002Fartwork\u002Fbadge\u002Fget-it-on.png\" alt=\"Get it on F-Droid\" height=\"80\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Fcom.aistra.hail\u002F)\n\n\u003Cimg src=\"fastlane\u002Fmetadata\u002Fandroid\u002Fzh-CN\u002Fimages\u002FphoneScreenshots\u002F1.png\" width=\"32%\" \u002F> \u003Cimg src=\"fastlane\u002Fmetadata\u002Fandroid\u002Fzh-CN\u002Fimages\u002FphoneScreenshots\u002F2.png\" width=\"32%\" \u002F> \u003Cimg src=\"fastlane\u002Fmetadata\u002Fandroid\u002Fzh-CN\u002Fimages\u002FphoneScreenshots\u002F3.png\" width=\"32%\" \u002F>\n\n## 冻结\n\n冻结`freeze`是一个营销用语，用于描述使**应用在用户不需要时不可运行**\n的行为，以此控制设备使用、减少内存占用和节省电量。用户可在需要时解冻`unfreeze`应用。\n\n在一般情况下，“冻结”是指停用，此外雹也可以通过隐藏和暂停来“冻结”应用。\n\n### 停用\n\n被停用`disable`的应用不会出现在启动器中。在已安装应用列表中会显示已停用`disabled`状态。启用`enable`应用即可恢复。\n\n### 隐藏\n\n被隐藏`hide`的应用不会出现在启动器和已安装应用列表中。取消隐藏`unhide`应用即可恢复。\n\n> 在这种状态下，软件包几乎处于卸载状态，无法使用，但并没有删除数据或实际的软件包文件。\n\n### 暂停 (Android 7.0+)\n\n被暂停`suspend`的应用在启动器中会显示为灰度图标。取消暂停`unsuspend`应用即可恢复。\n\n> 在这种状态下，应用程序的通知将被隐藏，任何启动活动将被停止，不能弹出提示、对话框或播放音频。\n> 当用户试图启动一个暂停的应用程序时，系统将向用户显示一个对话框，告知他们在暂停状态下不能使用这个应用程序。\n\n暂停只会阻止用户与应用交互，而**不会**阻止应用在后台运行。\n\n## 工作模式\n\n**冻结的应用需要通过相同工作模式解冻。**\n\n1. 如果您的设备支持无线调试 (Android 11+) 或已 root，推荐选择`Shizuku`。\n\n2. 如果您的设备已 root，可选择`Root`。**此模式速度相对较慢。**\n\n| 授权方式                                                                                           | 强行停止 | 停用 | 隐藏 | 暂停 | 卸载\u002F重新安装（系统应用） |\n|------------------------------------------------------------------------------------------------|------|----|----|----|---------------|\n| Root                                                                                           | ✓    | ✓  | ✓  | ✓  | ✓             |\n| 设备所有者                                                                                          | ✗    | ✗  | ✓  | ✓  | ✗             |\n| 特权系统应用                                                                                         | ✓    | ✓  | ✗  | ✗  | ✗             |\n| [Shizuku](https:\u002F\u002Fgithub.com\u002FRikkaApps\u002FShizuku) (root)\u002F[Sui](https:\u002F\u002Fgithub.com\u002FRikkaApps\u002FSui) | ✓    | ✓  | ✓  | ✓  | ✓             |\n| [Shizuku](https:\u002F\u002Fgithub.com\u002FRikkaApps\u002FShizuku) (adb)                                          | ✓    | ✓  | ✗  | ✓  | ✓             |\n| [Dhizuku](https:\u002F\u002Fgithub.com\u002Fiamr0s\u002FDhizuku)                                                   | ✗    | ✗  | ✓  | ✓  | ✗             |\n| [炼妖壶](https:\u002F\u002Fgithub.com\u002Foasisfeng\u002Fisland)\u002F[Insular](https:\u002F\u002Fgitlab.com\u002Fsecure-system\u002FInsular) | ✗    | ✗  | ✓  | ✓  | ✗             |\n\n### 设备所有者\n\n**设置为设备所有者的应用需要移除设备所有者后方可卸载。**\n\n#### 通过 adb 将雹设置为设备所有者\n\n[Android 调试桥 (adb) 指南](https:\u002F\u002Fdeveloper.android.google.cn\u002Fstudio\u002Fcommand-line\u002Fadb)\n\n[下载 Android SDK 平台工具](https:\u002F\u002Fdeveloper.android.google.cn\u002Fstudio\u002Freleases\u002Fplatform-tools)\n\n通过 adb 发出命令：\n\n```shell\nadb shell dpm set-device-owner com.aistra.hail\u002F.receiver.DeviceAdminReceiver\n```\n\n设置成功后会输出以下信息：\n\n```\nSuccess: Device owner set to package com.aistra.hail\nActive admin set to component {com.aistra.hail\u002Fcom.aistra.hail.receiver.DeviceAdminReceiver}\n```\n\n如输出其他信息，请使用搜索引擎自行查阅与解决。\n\n#### 移除雹的设备所有者\n\n设置 > 移除设备所有者\n\n### 特权系统应用\n\n需要设置特许权限许可名单：\n\n```xml\n\u003C?xml version=\"1.0\" encoding=\"utf-8\"?>\n\u003Cpermissions>\n    \u003Cprivapp-permissions package=\"com.aistra.hail\">\n        \u003Cpermission name=\"android.permission.PACKAGE_USAGE_STATS\"\u002F>\n        \u003Cpermission name=\"android.permission.FORCE_STOP_PACKAGES\"\u002F>\n        \u003Cpermission name=\"android.permission.CHANGE_COMPONENT_ENABLED_STATE\"\u002F>\n        \u003Cpermission name=\"android.permission.MANAGE_APP_OPS_MODES\"\u002F>\n    \u003C\u002Fprivapp-permissions>\n\u003C\u002Fpermissions>\n```\n\n并将雹安装为特权系统应用。\n\n推荐方法是在构建 ROM 时导入雹，`Android.bp`配置示例：\n\n```bp\nandroid_app_import {\n    name: \"Hail\",\n    apk: \"Hail.apk\",\n    privileged: true,\n\n    dex_preopt: {\n        enabled: false,\n    },\n    presigned: true,\n    preprocessed: true,\n\n    required: [\"privapp-permissions_com.aistra.hail.xml\"]\n}\n\nprebuilt_etc {\n    name: \"privapp-permissions_com.aistra.hail.xml\",\n    src: \"privapp-permissions.xml\",\n    sub_dir: \"permissions\",\n}\n```\n\n## 恢复\n\n### 通过 adb\n\n替换 com.package.name 为目标应用的包名。\n\n```shell\n# 启用应用\nadb shell pm enable com.package.name\n# 取消隐藏应用 (需要 root)\nadb shell su -c pm unhide com.package.name\n# 取消暂停应用\nadb shell pm unsuspend com.package.name\n```\n\n### 修改文件\n\n访问`\u002Fdata\u002Fsystem\u002Fusers\u002F0\u002Fpackage-restrictions.xml`，此文件存储了应用限制相关信息。您可修改、重命名或直接删除此文件。\n\n- 启用应用：修改`enabled`属性为 2 (DISABLED) 或 3 (DISABLED_USER) 的值为 1 (ENABLED)\n\n- 取消隐藏应用：修改`hidden`属性为 true 的值为 false\n\n- 取消暂停应用：修改`suspended`属性为 true 的值为 false\n\n### 通过恢复模式清除数据 (wipe data)\n\n**希望您能谨慎地选择冻结应用，以免陷入此窘境。**\n\n## API\n\n```shell\nadb shell am start -a action -e key value\n```\n\n`action`可为：\n\n- `com.aistra.hail.action.LAUNCH`：解冻并启动目标应用。应用未冻结时会直接启动。`key=\"package\"` `value=\"com.package.name\"`\n\n- `com.aistra.hail.action.FREEZE`：冻结目标应用。应用需处于首页。`key=\"package\"` `value=\"com.package.name\"`\n\n- `com.aistra.hail.action.UNFREEZE`：解冻目标应用。`key=\"package\"` `value=\"com.package.name\"`\n\n- `com.aistra.hail.action.FREEZE_TAG`：冻结目标标签中的全部非白名单应用。`key=\"tag\"` `value=\"标签名\"`\n\n- `com.aistra.hail.action.UNFREEZE_TAG`：解冻目标标签中的全部应用。`key=\"tag\"` `value=\"标签名\"`\n\n- `com.aistra.hail.action.FREEZE_ALL`：冻结首页全部应用。无需`extra`。\n\n- `com.aistra.hail.action.UNFREEZE_ALL`：解冻首页全部应用。无需`extra`。\n\n- `com.aistra.hail.action.FREEZE_NON_WHITELISTED`：冻结首页全部非白名单应用。无需`extra`。\n\n- `com.aistra.hail.action.FREEZE_AUTO`：自动冻结首页应用。无需`extra`。\n\n- `com.aistra.hail.action.LOCK`：锁定屏幕。无需`extra`。\n\n- `com.aistra.hail.action.LOCK_FREEZE`：冻结首页全部应用并锁定屏幕。无需`extra`。\n\n或使用以下`schema`:\n\n- `hail:\u002F\u002Flaunch?package=xxx`\n\n- `hail:\u002F\u002Ffreeze?package=xxx`\n\n- `hail:\u002F\u002Funfreeze?package=xxx`\n\n- `hail:\u002F\u002Ffreeze_tag?tag=xxx`\n\n- `hail:\u002F\u002Funfreeze_tag?tag=xxx`\n\n- `hail:\u002F\u002Ffreeze_all`\n\n- `hail:\u002F\u002Funfreeze_all`\n\n- `hail:\u002F\u002Ffreeze_non_whitelisted`\n\n- `hail:\u002F\u002Ffreeze_auto`\n\n- `hail:\u002F\u002Flock`\n\n- `hail:\u002F\u002Flock_freeze`\n\n## 协助翻译\n\n要将雹翻译成您的语言，或完善现有的翻译，请使用 [Weblate](https:\u002F\u002Fhosted.weblate.org\u002Fengage\u002Fhail\u002F)。\n\n[![翻译状态](https:\u002F\u002Fhosted.weblate.org\u002Fwidgets\u002Fhail\u002F-\u002Fmulti-auto.svg)](https:\u002F\u002Fhosted.weblate.org\u002Fengage\u002Fhail\u002F)\n\n## 许可证\n\n    Hail - Freeze Android apps\n    Copyright (C) 2021-2026 Aistra\n    Copyright (C) 2022-2026 Hail contributors\n\n    This program is free software: you can redistribute it and\u002For modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see \u003Chttps:\u002F\u002Fwww.gnu.org\u002Flicenses\u002F>.\n","雹是一款用于冻结、隐藏、暂停或卸载Android应用的自由软件，无需root权限即可操作。其核心功能包括停用不需要的应用使其不显示在启动器中，隐藏应用使其从系统中几乎不可见但不删除数据，以及暂停应用阻止用户与其交互。该软件支持多种工作模式，如Shizuku（支持无线调试和root）、Root等，每种模式下可执行的操作有所不同。雹特别适合那些希望清理设备、提高隐私保护或者优化手机性能而不愿意获取root权限的Android用户使用。",2,"2026-06-11 03:11:21","top_language"]