神器Magisk科普

 

提及Magisk,相信只要常逛一加社区的小伙伴们,哪怕本身没有使用过,也至少据说过了吧。
那么,Magisk究竟是个什么东西?
本文较长,没时间的朋友能够只看我红色标识的文字,不过建议仍是收藏一下这个帖子,有时间的时候看完。
简单来讲,它主要有两个重大功能:ROOT权限获取和管理、挂载功能多样的各类扩展模块。

Magisk框架的卡刷包和卸载包,请移步个人这个帖子:
http://www.oneplusbbs.com/thread-3903166-1-1.html

 

ROOT权限获取和管理

提及ROOT权限的获取和管理,你们最熟悉的应该是SuperSU。SuperSU是XDA很是著名的开发者ChainFire维护的一款做品,最近几年最火的ROOT权限获取和管理工具,没有之一。
在安卓5.0以后,谷歌封堵了大量的漏洞,市面上各类所谓的一键ROOT工具全都玩完,固然这里我也不推荐这些所谓的一键ROOT工具,很是危险,除非是知名开发者提供的非商业化做品,不然任何商业化或者第三方机构给出的超级用户管理工具,都等于把你的手机变成不是你本身的了。
SuperSU一直保持着非商业化运做,而且更新很积极,当初谷歌发布安卓7.0和安卓8.0开发者预览版,全世界只有Nexus和Pixel等谷歌自家的手机才能吃上最新系统的时候,Super都是第一个站出来完成超级用户权限的提权和管理。

遗憾的是,2017年10月4日,ChainFire在本身的Google +上发布了题为Retirement from SuperSU的声明,说之后再也不参与维护SU,算是把SuperSU完全卖给了中国的一家商业化运做的公司,自此更新节奏很是缓慢,而且未来指不定里面会怎么作商业化变现。

目前SuperSU已经不能实现一加氢氧系统安卓8.0和更高版本的ROOT了,刷入以后会无限卡屏,包括谷歌刚发布的安卓9.0(Android P)开发者预览版上,SuperSU也没有再和往年同样站出来搞定ROOT。


取代这一切的,是Magisk,做者是来自中国台湾的topjohnwu,从字面上看,这位吴老哥英文名叫约翰,他的梦想是成为最顶级的大神。

其实Magisk出来已经好久了,最先由于SuperSU还好好的,因此这个玩意儿一直不怎么出名,特别是界面也还很是粗糙,以致于XDA开发者的ROM里集成了这玩意儿,我还以界面很差看而丑拒,非要刷成SuperSU才内心以为舒服。

如今界面上已经好看多了,遵循谷歌的Material Design设计规范,就是面具图标挺通常,或者说还有点吓人。

刷入Magisk框架以后,默认就会具有ROOT权限获取和管理啦,并且在Magisk的管理器里,还有针对指定app隐藏root权限检测的MagiskHide,以避免某些软件发现root了就直接自我崩溃,不给使用的状况。

 

运做原理和模块举例

提及模块,你们都会想到Xposed,由于Xposed出来这么多年了,你们用习惯了总会先入为主。
甚至常常有人问我,为何你的模块都是作Magisk的,有没有Xposed版本的啊?
这根本无法回答,还不如问我:为何邓紫棋有一张专辑叫Xposed,可是她却不给Xposed框架代言呢?

Xposed框架的原理,用通俗的话来讲,是在任意进程启动以前,能加载特定Xposed模块的代码,从而控制任意进程的行为。
这些特定的Xposed模块,能在App进程启动之执行特定代码,这个事情其实挺可怕的,举个例子吧,很著名的某微信模块,就是你在启动微信以前,首先要运行一段别人写的脚本,这些脚本会劫持微信这个APP里的全部行为,包括转帐和输入密码。因此最终可以实现微信内容防撤回,微信摇骰子和石头剪刀布永远不会输。
做者若是是有良心的,那就安全,但做者若是想作点什么,那根本不须要你的赞成,甚至自动把你的余额转帐出去。


而Magisk模块,运行起来并不须要这么可怕的权限,因此能实现的东西也不会像Xposed那么强大。
之前塞班系统的时候,修改固件里的文件没那么容易,曾经有人经过C2Z补丁,来实现固件文件的修改,大概就是在一个能够修改的分区上,写一段代码,来映射系统固件里的文件,最终实现效果。
你想看见周杰伦,你对面的实际上是隔壁老王,可经过VR眼睛,你看到的就是周杰伦。
虽然你没有真的看到周杰伦,可VR眼睛骗过了你,塞班系统的C2Z,安卓系统的Magisk,大概就是扮演的VR眼镜的角色。
不少人给Magisk下了很专业的定义,但仍然不少人不懂,通常都是讲,不修改系统文件达到修改系统文件的目的。
用我举例的事件来讲,其实就是不给隔壁老王整容,却让你觉得他是周杰伦。

因此,理论上Magisk能实现的东西,Xposed都能实现,这是实现原理决定的。
Magisk只是用伪造的一段逻辑替换系统里的一段逻辑,或者把一些文件伪装塞到系统里去。
所谓的Magisk模块,实际上就是伪造的逻辑,或者是要伪装塞紧系统里的文件的一个zip压缩包。

修改机型模块
为何要修改机型呢?一般状况,为了系统的运行稳定,咱们最好不要修改手机型号,好比一加5T修改机型后会致使不能拍摄视频。
但凡事总有例外。

场景一:
微博和QQ空间小尾巴,改个机型装个X,最新上市的手机,挨个换一遍,知足虚荣心。

场景二:
有些游戏和手机型号有说不清的PY关系,好比王者荣耀,修改为某机型后,流畅度和发热状况都会明显改善。
不过由于一加手机自己就是性能怪兽,跑游戏都是无压力的,因此这个需求其实不大。

修改机型的原理,是经过一段代码逻辑,在开机的时候映射到系统上,让系统觉得机型就是你定义的那个机型。
使用方法很简单,打开Magisk管理器,进入模块,点底部的加号,而后从本地存储路径找到模块,加载后勾选,重启生效。
每次重启以前请不要勾选多个机型模块,虽然不会致使不能开机,但最后究竟哪一个会生效,就是个无聊的问题了。

我作了一些最近新出机器的型号,包括还没有开售的一加6手机。
有兴趣的能够拿去玩:连接:https://pan.baidu.com/s/1eTHtMwU
密码:zcjb

换字体模块

我常常在一加社区发字体美化,近期更新的还都会加上Magisk字体,用法和上面的机型模块是同样的。
换字体的原理,是经过修改安卓系统调用字体的配置文件,把我指定的多字重中文字体和西文字体,在开机的时候,让系统去识别。
一加手机系统自带一个换字体的逻辑,就是能够切换成一加莹黑,我修改的字体配置文件是Notosans的,因此使用莹黑的朋友请把字体切回去。

用Magisk模块换字体的最大好处,是不用再担忧由于system分区空间不够,致使字体刷入出错。
常常有人说刷了字体为何无效,为何中文不显示,哪怕我再怎么屡次强调system空间请留200M左右再来刷字体,可仍是有人不看,官方氢8.0-8.1系统只给system分区留了一丁点儿空余,字体弄进去不出问题算你运气好。
还有人私聊我说,个人手机是128G的,只用了20个G,还有100多个G呢,认为我在随便找个理由骗他。
很差意思,我真的没有骗你,好比你电脑的C盘若是满了,而E盘有100G,那么你试试把软件再装C盘看看?

有动手能力的小伙伴能够本身精简系统文件,能够是内置输入法、浏览器等,本身喜欢就好。
不想那么麻烦的话,直接用Magisk模块,省事,还不用担忧系统空间不够,由于压根不须要把文件真的写入到system里去,不懂的请回顾一下前文magisk模块的运做原理。
你们常说的专业名词systemless,差很少就是这个意思。

字体的模块,我就不单独列出了,翻阅我以往的帖子就能找到,之后我还会继续酌情发一些。

xposed框架模块
和换字体同样,因氢8.0-8.1系统竟然给system只留了一点点空间,xposed模块直接卡刷也是刷不进去的。要么选择本身精简系统,要么经过Magsik万能的systemless方案来解决。
只须要在Magisk管理器-下载,这里搜索xposed就能出来啦,安卓8.1对应SDK27,安卓8.0对应SDK26,安卓7.1对应SDK25,不要下错哦。

若是实在搞不清应该下哪一个,就选择上图,我未安装的那第一个,v89-v90那个,会根据系统版本自适应给你装正确的xposed框架。

而后,xposed管理器也要用专门的systemless版,正常的版本是不匹配的哦。

xposed管理器systemless专版下载:
 de.robv.android.xposed.installer.apk (2.96 MB, 下载次数: 3262) 

除了不占用系统空间,用Magisk模块版的Xposed框架还有个好处,那就是若是不当心某个框架不兼容致使手机不能开机,你就没必要再去找Xposed框架的卸载包来禁用了。此时直接刷入Magisk的卸载包,再开机就不会加载Xposed框架啦。

GoogleLens模块

一加的相册如今支持云同步了,想必很多机友都已经体验过。
其实,谷歌原生的相册——谷歌相册,也能够备份照片,只不过在本土不能链接服务器罢了。
若是具有必定能力,那么使用谷歌相册,就能够感到到它的功能是很是强大的,登陆谷歌账号以后,会看到一堆谷歌的贴心服务(好比会提醒你结婚记念日到了,给你显示当年的婚纱照),只有用过一段时间才会感悟到谷歌的用心之处,而我,已经用了不少年。

谷歌作了不少年的图像技术,那些简单的根据人脸智能归类、根据地点智能归类,就没啥好说的了,不稀奇。
我看重的一个很重要的点,那但是连苹果公司都不敢作出的决定,那就是谷歌支持压缩画质到1600万像素后无限量存储。
谷歌官方对自家的亲儿子系列手机,还有免费原始画质无限量存储的特权:
谷歌Pixel和Pixel XL的第一代产品,由于以前本身夸下海口,不得不终身支持免费原始画质无限量存储;
谷歌的Pixel和Pixel XL的第二代产品,这个特权只能享受到2021年初。

不过如今才2018年,能再把一台已经用了1-2年的手机,再用上3年时间,也是挺了不得的了。
对比苹果的icloud空间购买政策,谷歌的作法,这无疑很良心。

固然谷歌在非本身Pixel系列的手机上,也有相似苹果那样的服务,不过仅在上传原始画质的时候限制一下。
咱们在root以后修改一些小东西,其实也是能够直接绕过谷歌的限制,让原始画质的照片也可以无限量存储。

以下图,目前能够享受截至2021年的无限量存储,而个人机型是一加5T。

也有说法说,虽然如今修改后,谷歌相册的界面上看着是能享受无限量存储的,但实际上谷歌已经偷偷在服务端处理成仍然占用免费存储空间的了,这个我没有进一步深刻验证。

由于,最主要的是修改以后,能开启Google Len功能,也就是谷歌基于图像识别和OCR技术的人工智能。

这个功能,最通俗易懂的能力之一,识别图片里的文字,能够很方便地提取截图和扫描件里的段落内容,省去打字的烦恼(好比某个无脑客户的收件地址竟然是截图,不让你复制,除了骂一句翘里吗的,就只能问他要文字版或者本身手打了,此时你能够试试谷歌相册的Google Lens)。
其次就是根据数据库,智能识别建筑物、动植物、美食,甚至是一个明星,谷歌相册能告诉你具体的名字。
功能使用方法我录了一段1分钟的短视频,你们能够感觉一下,仍是很实用的!
建议切换到超清模式后全屏观看!


手机浏览不能正常看到视频的朋友,戳我观看视频:http://video.tudou.com/v/XMzUzODQyOTQ4NA==.html

这个模块的下载连接:https://pan.baidu.com/s/1I1Fmd6vOsIKMVgdQ2snP7g
密码:3g2k

让谷歌服务深度休眠,半夜里再也不耗电

使用谷歌的云服务的小伙伴,应该都遇到过,偶尔由于没有保持服务器畅通,致使一觉醒来Google Play Service消耗了百分之十几电量的问题。
这个问题,谷歌服务确实有缘由,但这个锅不能让谷歌来独自扛下。

众所周知的问题,谷歌已经再也不为咱们这个地方提供网络服务了,因此,手机静放状态下,谷歌服务只是想周期性地尝试连一下服务器,看看有没有数据须要同步,结果差很少这样:


 
手机:服务器服务器,我是手机,收到请回答!

服务器:没人找我没人找我!
手机:服务器服务器,我是手机,收到请回答!
服务器:没人找我没人找我!
手机:服务器服务器,我是手机,收到请回答!
服务器:没人找我没人找我!
手机:服务器服务器,我是手机,收到请回答!
服务器:没人找我没人找我!

……

而后这一个晚上,你的手机一直在寂寞地呼叫着服务器,宁死不屈周而复始,无限尝试,手机一夜都没消停,电量就这么走了一大截。


其实正常状况应该是这样的:


 
手机:服务器服务器,我是手机,收到请回答!
服务器:收到了,没你什么事,你休息吧。

或者这样的:
 
手机:服务器服务器,我是手机,收到请回答!
服务器:收到了,你赶忙更新下联系人数据,你主人在另外一个手机上修改了张三的电话号码。

此时,电池优化模式了解一下。

通常来讲,电池优化模式,是配合doze模式使用的,是安卓在6.0系统以后引入的手机休眠模式,进入这个模式以后,在电池优化名单里的app,就会中止全部的工做,后台常规的和流氓的活动都中止下来,让手机安静地睡个觉,最终达到省电的效果。

若是把微信也加入电池优化名单,那么手机进入doze模式以后,微信消息是收不到的!

不过安卓原生的doze模式很难触发,须要常规静止不动几个小时才行,毕竟一夜也就8小时左右,刚让手机进入doze模式,也许你只是半夜起来蹲坑5分钟,就让你的手机这一夜都几乎没有怎么休眠过了。


目前市面上有很多app能够强制把安卓系统的doze模式触发条件缩短的,好比绿色守护的嗜睡模式,打开以后,只要锁屏放几分钟就当即让手机休眠。

绿色守护的设置项里有个白名单,点击实际上就是跳到安卓系统的电池优化-未优化名单里,你们一般只需把微信等须要保持一直后台运行的app留在这里便可。

那么,尴尬的场景也是有的,Google Play Service在电池优化选项里,竟然是没有可用的优化项,根本不能把它加入的优化名单里去啊尼玛!
若是能把谷歌服务给加入到电池优化名单里,那么,大晚上的它就算连不上服务器,也不会一直傻傻地一直折腾了,手机的电池也不会所以崩了。

这里引入一个magisk模块Enable Doze for GMS,模块做者是XDA开发者社区的otonieru,使用于安卓6.0及以上的系统。
你们进入magisk管理器-下载,而后选搜索,搜“Enable Doze for GMS”,就能找到这个模块,下载安装,勾选,重启,而后再去电池优化里看Google Play Service,此时已经能够调整到优化名单里了,今后手机幸福地能够睡个好觉了。


不过,惊喜的是,一加的氢OS,并不须要担忧这个问题。
前两年氢OS是有自启动管理的,如今它把自启动管理和安卓自带的电池优化结合到了一块儿。
在电池优化的右上角展开高级优化项,能够看到这个:


氢的这个设计,仍是不错的,实际表现为,默认谷歌服务也是可优化,而且切断全家桶唤醒、放在后台一下子以后自动中止运行等等,而且氢的其余高级设置里,默认深度清理后台,也就是划掉卡片就完全中止运行,很有几分学习黑域的感受。
就差一个划卡片后留后台的白名单了(别提那把锁,你不知道卡片划不掉是原生控不能忍的么,还有那个清理所有后台的按钮太大了,特容易误触)。

提到的这个模块,主要适用于刷了基于AOSP的原生第三方系统,又须要用谷歌服务的小伙伴。

根据Magsik模块运做的原理,理论上只要是系统文件决定的特性,都能作成模块来实现。
因此只要有想法有创意,虽然如今模块还少,但之后只会愈来愈多。

 

如何从SuperSu转成Magisk

许多人习惯了用SuperSU,甚至为了它停在安卓7.1及如下的官方系统。
若是能坚持看到这里,想必必定已经对Magisk很感兴趣了,与其跃跃欲试,不如实战一下。
我专门录制了从SuperSU改成Magsik的全程视频,建议切换到超清模式后全屏观看:


手机浏览不能正常看到视频的朋友,戳我观看视频:http://v.youku.com/v_show/id_XMzUzODQzNzcwMA==.html

视频开头是我正在使用Magisk 16.0正式版的一加5T,搭载最新氢公测版8.1系统。
 

视频第二部分是我正在使用Magisk 16.3 beta版的谷歌亲儿子手机,搭载安卓9.0开发者预览版,强烈不建议你们如今就使用16.3 beta版的Magisk,目前不少模块都还不兼容这个版本,做者本身也说了这个beta版本主要是作给安卓9.0的。
 

视频第三部分,是我演示从Super SU如何转到Magisk的全过程,示例手机是你猜?运行的是安卓7.1系统。

首先打开SU,在设置里选择彻底清除root权限,全部的弹窗都选择肯定继续。
 
而后手动重启到recovery模式,若是连着电脑也就一句命令的事情:
  1. adb reboot recovery
复制代码


选择install,把magisk框架写进去,拉动滑块确认开始刷。
 

最后结束了选择reboot system,会自动重启手机,就彻底OK了。
  感谢您的观看!
相关文章
相关标签/搜索