以往的Root方式就是將Root所需要的檔案,如:su,寫入系統內,
再經由App啟動,達到授權Root效果。 但這樣的方式在Android 系統演化的過程中,造成一些用戶上的麻煩,
就是,如果你更動了系統,就無法通過OTA更新中對系統完整性的驗證,
換句話說就是Root後就無法更新。
而就是因為Android 系統生態的改變,這些作者也改變了Root的方式與App的架構,
形成現在最常見的Systemless Root。
什麼是Systemless Root ? 簡單的解釋就是 “不更動系統的Root”
也就是以往需要寫入系統中的檔案換個地方放,如:放置在Data分區,
只要放置在OTA更新時,不會驗證的地方,這樣就能讓用戶順利更新,
但是這樣必須要改變Boot的結構,不過這也不會影響到OTA更新,
因為OTA更新時是不會驗證Boot的完整性的。目前現行的Root來說的話,大致上有三種APP最多人用
1.SuperSU
2.SuperUser
3.Magisk
目前以上三種Root的方式都是以Systemless Root為主,
以這種方式來Root其優點為:可正常的更新,
可繞過會檢測手機有無Root才可正常執行的App
如:Android Pay 龍族拼圖 寶可夢go,
(不過這些都要另外附加設定,或安裝模組才可繞過) 不過Systemless Root 也不是沒有缺點,
一些App在要求授權時,會檢測得到的Root,
權限是否足夠,如果不夠自然無法順利執行,
所以才會有人問了其App作者,卻得到的回答是,
“你沒有完美Root”之說,而且有部份的手機,
因為Root時改變了Boot的架構而出現卡開機的情況,
這情況也只能等有人反映給Root包的作者後,才能得到修正。
再說,以前用戶需要Root都是要,刪掉系統商附帶的程式,以求增加可使用的空間,
或者,增加自己需要的程式進系統內,更動系統的參數提高使用效能之類的,
大多都不會考慮以後能不能更新,以前不是常看到一句話,
『刷機改機有風險,請自行承擔後果』
而現在Android 的生態改變了,硬體增強了,空間變大了,效能提高了,
用戶的需求也只要有Root就好,如:自動轉珠能用就好,就演化出了這些Root方式。
https://www.kocpc.com.tw/archives/145014
|