神器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了。
  感謝您的觀看!
相關文章
相關標籤/搜索