惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
腾讯CDC
J
Java Code Geeks
博客园 - 【当耐特】
Microsoft Azure Blog
Microsoft Azure Blog
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
美团技术团队
云风的 BLOG
云风的 BLOG
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
雷峰网
雷峰网
B
Blog RSS Feed
博客园_首页
量子位
F
Fortinet All Blogs
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Check Point Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
为 Android 8.0 强制开启全局圆形图标规范 - 少数派
2017-11-12 · via 少数派

看到标题,很多人也许会问:引入了 自适应图标规范 后,在 Android 8.0 上我们已经可以通过一些第三方 Launcher(比如 Lawnchair、Nova 等等)来修改图标形状。

为什么还要多此一举?

因为通过 Launcher 修改图标形状的效果并不完美。仔细观察,无论我们在哪个 Launcher 中修改图标遮罩为何种形状,多任务卡片、已安装的应用列表、第三方应用所能够读取的应用图标,都依然是圆角矩形

任务卡片左上角的图标默认为圆角矩形

也就是 Nexus 用户在升级到 Android 8.0 后在默认的 Google Now Launcher 上所看到的那样:

Nexus 用户觉得亲切吗?

作为一个习惯了 Pixel 圆形图标、想要最大程度上贴近原生体验的强迫症和完美主义者,上面的情况简直不能忍。

那么如何改变这种图标不统一的状况呢?

在 上一篇教程中 我们提到,在 Android 7.x 中,我们可以通过反编译 framework-res.apk、将其中 config_useRoundIcon 的值由 false 修改为 true 来强制启用圆形图标规范。

在 Android 8.0 中,config_useRoundIcon 这个标签虽然还在,但由于自适应图标特性的引入、系统级主题引擎等因素,它已不足以控制全局图标遮罩。

因此我们需要额外修改位于 string 当中的 config_icon_mask

需要用到的工具和具体操作如下:

  • 已 root 的 Android 8.0 设备
  • MT 文件管理器 2.0

首先,参考 @Clyde 的教程,使用 MT 文件管理器定位至 /system/framework 目录,找到 framework-res.apk 这个文件并将其复制到内部储存备用;

点击备用的 framework-res.apk 文件,选择「查看」,在打开的界面定位至 resources.arsc 文件并打开;

在 resources.arsc 的目录中定位至 android -> bool -> bool 标签,找到 config_useRoundIcon 一项,将其数值从 false 修改为 true

同样在 resources.arsc 的目录中,定位至 android -> string -> string 标签,找到 config_icon_mask 一项;

可以看到,config_icon_mask 的数值非常复杂,而非 Pixel 设备上全局强制开启的圆角矩形图标遮罩就是由这串字符控制的:

M50,0L92,0C96.42,0 100,4.58 100 8L100,92C100, 96.42 96.42 100 92 100L8 100C4.58, 100 0 96.42 0 92L0 8 C 0 4.42 4.42 0 8 0L50 0Z

我们需要将这段代码精确地、一字不漏地修改为 Pixel 设备中的圆形图标遮罩代码:

M50 0C77.6 0 100 22.4 100 50C100 77.6 77.6 100 50 100C22.4 100 0 77.6 0 50C0 22.4 22.4 0 50 0Z
这就是开启全局圆形图标遮罩的魔法了!

完成以上两部分修改后,保存并退出编辑。用于开启圆形图标规范的 framework-res.apk 文件就已经修改好了。

接下来我们要做的就是将修改后的 framework-res.apk 替换回去,这里建议大家先将它拷贝至 /system 目录下,修改权限为「rw-r--r--」,然后再移动至 /system/framework 文件夹中进行替换。

权限设置示意图

替换后重启手机就能看见效果了,这样修改后,无论是多任务卡片上的小图标还是已安装应用列表中的应用图标,都会启用 Pixel 设备上的原型图标遮罩;如果你在启动其中应用圆形图标,整个系统在图标部分就会非常和谐统一。

修改前/修改后

当然,如果你喜欢其它形状的图标遮罩,也可以按照本文的方法进行修改。前提是——你得知道这种图标遮罩所对应的字符串。

祝大家玩机愉快!