Skip to content

About

支持应用冻结的 Android TV 桌面启动器

Resources

Stars

22 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

HailLauncher

为 Android TV / 电视盒子设计的桌面启动器(Launcher),集成应用冻结、天气、每日 Bing 壁纸。本版为 Compose for TV 重写版。

English (README.en.md)

项目简介

HailLauncher 是一个为 Android TV / 电视盒子设计的桌面启动器,使用 Jetpack Compose for TV 构建。作为主屏幕,它负责展示应用卡片网格、时钟 / 网络状态、内存占用与天气等桌面信息,并通过设置页进行自定义。

与原版的关系:本版沿用同一 applicationId(com.github.HailLauncher),是原版(Leanback UI)的接替版本。两版不能共存——覆盖安装需同签名,否则必须先卸载原版。

与市面上只负责「把图标排整齐」的普通启动器不同,HailLauncher 的核心价值在于真正管理应用的生命周期——把暂时不用的应用冻结起来,让后台更干净、更省电、桌面更专注。这正是它区别于其它启动器的最大优势。

应用冻结(核心亮点)

HailLauncher 可以直接冻结/解冻系统中的应用。

  • 手动冻结:随时冻结不需要的应用;顶栏「一键冻结」可按名单批量冻结。
  • 自动冻结:按触发时机自动冻结——回到桌面、屏幕熄灭、其它应用启动时,均可按设定延时停用许久不用的应用;新安装的应用也能自动加入冻结名单。
  • 多种通道:自动选择可用的冻结通道(特权系统应用 → Shizuku → Root),也可手动指定某一种。
  • 冻结角标:冻结的应用在卡片上显示雪花角标(真冻上 = 蓝色底,仅在名单内 = 灰色底)与标题前「❄」,一眼区分、避免误点;角标位置可设(四角 / 不显示)。
  • 解冻即用:冻结只是停用进程、释放后台占用,应用数据与设置全部保留,一键解冻即可正常使用;单击冻结的应用会先自动解冻再启动。
  • 随时关闭:不需要时可整体停用冻结,并一键解冻全部应用回到原始状态。

冻结的意义:停用的应用不再常驻内存,也不后台自启耗电,避免被遗忘的应用堆积成「僵尸后台」,解决设备装应用越多越卡的问题。

系统特权应用部署(priv-app)

HailLauncher 是特权系统应用,部署到 /system/priv-app/(而非普通应用),冻结等能力才完全解锁;否则冻结通道自动回退 Shizuku / Root。

  • APK 路径:/system/priv-app/HailLauncher/HailLauncher.apk。
  • 权限授予:需配套 /system/etc/permissions/privapp-permissions-HailLauncher.xml,原文如下:
<?xml version="1.0" encoding="utf-8"?>
<permissions>
    <privapp-permissions package="com.github.HailLauncher">
        <permission name="android.permission.PACKAGE_USAGE_STATS"/>
        <permission name="android.permission.FORCE_STOP_PACKAGES"/>
        <permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
        <permission name="android.permission.MANAGE_APP_OPS_MODES"/>
        <permission name="android.permission.BIND_APPWIDGET"/>
        <permission name="android.permission.INTERACT_ACROSS_USERS"/>
        <permission name="android.permission.MEDIA_CONTENT_CONTROL"/>
        <permission name="android.permission.WRITE_SECURE_SETTINGS"/>
    </privapp-permissions>
</permissions>

缺失任一权限,对应功能会降级或不可用(如冻结通道回退,或无法写系统安全设置)。

主屏

  • 应用卡片网格:单一网格,卡片为 16:9 横幅(应用图标 + 可选名称 + 冻结角标)。单击启动;MENU 键打开应用菜单(应用设置 / 卸载 / 隐藏 / 加入冻结名单);长按进入编辑模式,选中后方向键实时换位重排。排序方式为「固定」(手动顺序)或「最近打开」。
  • 顶栏:左侧时钟 + 日期(点击进入系统日期时间设置),右侧药丸按钮组——内存占用 / 一键冻结(同址切换,带占用占比条)、网络、系统设置、桌面设置。
  • 天气面板:小米天气数据源,支持单日 / 多区(左中右三城)/ 七日预报,含 AQI 与预警,可显示到省 / 市 / 区。
  • 壁纸背景:每日 Bing 壁纸(自动更换 / 固定当前)或本地图片,设置页操作后壁纸即时透出。

设置

七个分类:

分类 内容
状态栏 时钟格式(仅时间 / 星期·时间 / 日期·时间 / 日期·星期·时间)、24 小时制(未设置则跟随系统)
应用展示管理 显示应用名、每行列数(自适应 / 4–8)、排序方式(固定 / 最近打开)
天气 天气显示(禁用 / 单日 / 多区 / 七日)、设置城市(多区为左 / 中 / 右三个槽位,可单独清除)
壁纸 Bing 每日壁纸开关、更换方式(自动更换 / 固定当前)、挑选在线图片、选择本地壁纸、重置壁纸
应用管理 显示系统应用开关 + 应用列表(隐藏 / 加入冻结名单 / 打开应用设置 / 卸载)
冻结 冻结方式、冻结图标位置、自动冻结新装应用、返回主页 / 熄屏 / 启动新应用后冻结(各带延时)、解冻所有并停用
关于 版本、启动时检查更新、手动检查更新

数据源

  • 每日 Bing 壁纸:基于 niumoo/bing-wallpaper 索引数据;构建时下载该索引并打进 APK,作为离线时「挑选在线图片」页的内置数据。
  • 天气:小米天气接口。
  • 行政区划:内置 pca-code.json(省 / 市 / 区县)。

多语言

中英双语:values/(英文,基准语言)+ values-zh-rCN/(中文)。其余 locale 回退英文。

致谢

  • LeanbackLauncher —— 原版架构参考。
  • Hail —— 冻结引擎(git 子模块,pinned v1.11.0)。
  • niumoo/bing-wallpaper —— Bing 每日壁纸数据。
  • 小米天气数据(仅供学习用途)。

About

支持应用冻结的 Android TV 桌面启动器

Resources

Stars

22 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors