随着谷歌Android操作系统每一个新版本的发布

贡嘉福
导读 随着谷歌Android操作系统每一个新版本的发布,大多数用户使用根设备的理由越来越少。然而,在仍然选择扎根于他们的设备的剩余用户中,最常

随着谷歌Android操作系统每一个新版本的发布,大多数用户使用根设备的理由越来越少。然而,在仍然选择扎根于他们的设备的剩余用户中,最常提到的原因之一是启用系统范围的主题支持。一般来说,由于CyanogenMod主题引擎不幸被取消了,所以它是通过底层主题框架来管理的。随着时间的推移,Substratum背后的团队通过集成ROM级别的Substratum支持,力争将其对更多设备的支持包含在内,使其无需root访问即可运行。现在,团队已经把这个项目做到了超出我们所有人的想象,全系统主题支持,没有任何Android Oreo设备的root用户。

截图显示Sai的Android奥利奥黑色主题运行在Android奥利奥8.0.0上的无根Google Pixel上。

为了让您了解惊人的开发程度,请考虑以下没有root用户的情况:

Android框架和Android系统用户界面的主题,以及其他系统应用程序。最后,很多人会喜欢有一个黑暗的主题!)

主题化任何第三方应用程序。

第三方应用程序的自定义字体

许多其他修改,如状态栏中心时钟模式

名单还在继续!Substratum有一个很大的可用主题列表来支持框架(即将发布的Android 8.0 Substratum新版本将支持所有主题),Google上的活跃社区和我们自己的论坛,鉴于这种发展,支持仅限于增长!

自从谷歌在Android 6.0 Marshmallow中纳入了对索尼运行时资源覆盖(RRO)主题引擎的原生支持以来,我们一直在等待谷歌提供内置接口和公共API,开发者可以使用它们来主题化这两个系统框架应用程序。和第三方应用程序。不幸的是,自从索尼的RRO被加入Android开源项目(AOSP)后,Android牛轧糖发行版就鲜为人知了。

然而,由于索尼移动工程师的努力,RRO主题引擎最终演变成了基于底层的覆盖管理器服务(OMS)。索尼是开源主题解决方案的先驱,但由于他们的OMS主题引擎在最终的Android 7.1发布时被AOSP接受,非索尼设备用户可以使用主题引擎自定义ROM。

这在Android 8.0中有所改变。当Substratum最初为最初的几个Android O开发者预览时,Substratum的开发者意识到他们可以完全支持索尼的OMS。这意味着用户可以安装现有的支持Substratum的主题,他们可以完全运行在Android Oreo设备上,而无需任何ROM补丁。然而,只有一个问题:启用已安装底层主题的过程需要root访问,或者他们认为。

Android Oreo的无根、全系统底层主题支持

尽管开发者们默默致力于让Android Oreo用户获得完全无根的主题解决方案,但我们仍在独立研究每一个Android O开发者预览版,寻找主题引擎在使用的证据,尽管我们错误地认为它是基于较老的RRO而不是索尼较新的OMS。甚至谷歌在Reddit上以开发者为中心的AMA也嘲笑了社区关于主题支持的内容,指出在一个完整的主题解决方案能够内置到Android中之前,还有一些障碍需要克服。

我们对这个答案不满意。我们想看看谷歌在获得Android奥利奥主题支持方面走了多远。正因如此,最终发行版一度没落,我深入研究了Android 8.0的源代码,找到了可以启用或禁用叠加的ADB Shell命令。XDA作家亚当康威昨天介绍了这个命令。

起初,我对这个发现并不以为然,因为据我所知,当时的功能对我和我的同事来说是没有用的,因为安装主题仍然需要root权限,因为主题文件需要移动到用户空间无法访问的文件夹中(在/system/vendor/overlay中,这是RRO的功能)。Nistralas Chum本人(Substratum背后的主要开发者之一)在我们的帖子中评论说,他已经意识到这些命令已经存在了相当长的时间,并且已经用于Android O构建。

然而,在我们昨天发表文章后,有一个人看到了机会。XDA自己的Jeff Corcoran(我们内部XDA实验室应用程序的开发人员)意识到,有一个潜在的解决方案可以让Android Oreo的本地命令行界面让OMS在没有root的情况下工作。它涉及到氦的使用,氦是一种流行的非根备份解决方案,最近被称为Brevent的开源Greenify所取代。

通过脚本提升权限

一般情况下,Google添加到Oreo发行版的“cmd overlay”命令只能由具有root权限的设备运行,或者由与调用Android调试桥(ADB)Shell的计算机绑定的设备运行。多年来,一些聪明的开发者(如氦和布雷文

t开发人员)想出了如何从本质上提高电话上运行的应用程序的特权,以匹配ADB shell的特权。这样,应用程序可以发送由于权限受限而通常无法发送的命令。对于Substratum,这意味着应用程序可以安装,然后在没有root的情况下 启用或禁用Substratum主题。

这一认识是一项 重大突破,直到昨天晚上才被发现。在几个小时的过程中,尼古拉斯(在Jeff的帮助下)能够为Android Oreo设备创建无根Substratum主题管理器的快速Alpha版本。它有效-但有一些警告。

无根底层支持警告

为了授予Substratum ADB Shell更高的特权,所需的过程将需要使用非常简单且轻巧的桌面应用程序(如果您知道自己在做什么,则只需使用ADB Shell命令)。授予许可后,Substratum将能够处理您所有已安装的Substratum主题,从而发挥您的期望。您安装的所有主题将保持安装状态,直到您选择再次通过Substratum卸载它为止。

但是,授予Substratum的特权是暂时的,因为当用户执行完全重新引导时,这些特权会丢失(尽管幸运的是,系统UI的软重新引导不会丢失该特权)。这意味着如果您重新启动了手机并希望使用Substratum添加,删除或修改主题,则必须再次运行桌面程序。我想再次重申, 即使重新启动,您安装的所有主题也将保持安装状态,因此,这意味着如果您只想偶尔更改几个主题,那么这对您来说应该是完美的。 您还应该能够从“设置”菜单切换主题,作为开发者预览版的“主题”选项 在显示设置下,然后识别已安装的主题,并允许您在主题之间进行切换

最后,我要说的最后一件事是,一旦您考虑一下,它似乎就显而易见了,但是当您听到新闻的兴奋时,可能已经忘记了。您的设备仍未root。这意味着,即使您安装的Substratum主题承诺要进行某些更改,也无法触摸或修改任何绝对需要root访问权限才能编辑的文件。很抱歉,但不幸的是,这意味着你不能应用系统字型变化带回BLOB表情符号, 虽然在开始提到的,它 是可能的一个卧层的主题改变单个应用程序的字体。

底层的必要性

现在让我们获得一个重要的细节。什么时候来 如标题所述,适用于Android 8.0设备(例如Google Nexus 5X,Google Nexus 6P,Google Pixel和Google Pixel XL)的无根Substratum首次公开发售应该在1周内。但这绝不能保证,因为开发过程中的事情可能会发生变化,这可能需要更多的时间投入,但是由于OMS已在AOSP中得到完全支持,因此Substratum团队目前正在研究的工作是Substratum应用程序与无根应用之间的接口设备。

接下来:它将免费吗? 号卧层为无根的Android奥利奥设备将是一个 付费的应用程序。我无法告诉您多少钱,因为尼古拉斯尚未决定价格,但是请放心,鉴于您所收到的价格,价格将是合理的。到目前为止,Substratum已免费提供给许多设备使用,因此请考虑先支持Team Substratum来支持这种开发。您可以等待Google最终发布您一直想要的黑暗主题(不错的主题),也可以花几分钱支持许多人认为理所当然的独立开发。

仍然不相信它的价值?您可以尝试在您自己的无根8.0设备上安装Substratum主题。实际上,这正是我们上面所做的。当然,尼古拉斯为此提供了一些帮助。如果要从Google Play商店安装现有的Substratum主题,请执行以下常规步骤:

将APK文件下载并安装到您的设备上。

提取内容并将每个叠加层编译为要主题化的每个应用程序的单独APK文件

安装您在步骤2中手动编译的每个叠加APK文件

对于您安装的每个叠加APK,运行以下命令将其启用: cmd overlay enable

如果要更改叠加层的优先级,请使用: cmd overlay set-priority PARENT|lowest|highest

列出所有已安装的叠加层,并包括: cmd overlay list

删除不需要的覆盖层: cmd overlay disable

如果您真的想使用命令行来管理主题,请成为我们的客人!就个人而言,我一直无法通过步骤2。底层是不使用一些隐藏的方法,你不能拿出你自己的,但它使得它 远远您更轻松地管理。如果可以手动执行某项操作,但是应用程序可以更轻松地为我执行操作,则我倾向于让该应用程序执行其工作。但这取决于您。

就我个人而言,我真的很高兴看到它的去向。对于目前尚不支持内置主题管理系统的任何设备(例如Motorola或OnePlus设备),您现在还有另一个理由可以期待Android 8.0更新。对于那些幸运地已经尝过甜美的奥利奥(Oreo)的人,您将在1周内期待一番。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!