雷禪所了解的HTC法則-part1
1.HTC的system保護機制
HTC的手機 因為要保護使用者,在不知情下修改系統檔案而毀損手機 ,
便在system加上保護機制,讓用戶無法自行修改系統,
只要修改後重開機就會還原,這是在蝴蝶之後的機種才開始的。
只要是修改system內的檔案一律無法執行,
- supersu 二進制更新
- supersu 解除安裝
- adaway host檔更新
- Viper4a 驅動安裝
- xposed 外掛安裝
- 以上皆無法成功
2.HTC的OTA驗證機制
HTC在Android 4.0時期的蝴蝶機之後,便在手機中新增data/preload資料夾,
用戶只要使用HTCDev網站解鎖功能後,便會清除所有data下的所有檔案,
最賊的是OTA居然會驗證data/preload資料夾內的檔案………..
以M7的4.4.2更新來說先不談驗證system內的檔案,光是data/preload就好
就會驗證以下的檔案,要是你缺少一個就會更新失敗。
- data/preload/SoundHound_Freemium.apk
- data/preload/TuneIn.apk
- data/preload/HtcSoundRecorder.apk
- data/preload/HtcRingtoneTrimmer.apk
- data/preload/Twitter_Client.apk
- data/preload/Dr_eye.apk
現在知道為什麼我要做Lost_app刷包了吧!
HTC也知道因為用戶解鎖後便無法更新,所以在4.4.3以後便取消部份手機OTA時,
對data/preload內的驗證 所以我後面再做的,也頂多只能恢復你遺失的程式,
而OTA失敗就要看你缺少了什麼檔案,可以在OTA失敗時出現的訊息來得知你缺少了什麼檔案。
有些人會用TWRPRecovery來做系統備份,要OTA時再備份還原加刷回官方Recovery,
感覺上是萬無一失可是本次蝴蝶2跟,HTC Desire Eye的5.0更新 卻慘遭滑鐵盧,
TWRPRecovery備份還原後卻還是遺失了某些程式,如youtube.apk或HTCCN_Weibo.apk,
雷禪個人覺得是TWRPRecovery的版本問題,不然怎麼做系統備份有的人可以有的人不行,
下次換個新一點的版本再備份吧……….
而在HTC One M9 Android 5.0時期之後,HTC更新驗證機制又改變,
OTA包裡的System更新檔,已不是以往的資料夾,而是以system.new.dat取代。
而驗證機制也更變為驗證system的分區sha1機碼,
如果你更動過system分區,如掛載system,就會造成sha1機碼變動,
就會在更新時跑到25%時停止。
在HTC10 Android 6.0時期之後又加上一個防範機制,
HTC 在devinfo分區上動了一些手腳,導致在刷入非官方的檔案後,
devinfo分區某個位置為由0變為1,下載更新時驗證devinfo該位置為1,
就會出現以上圖片無法下載更新包,最後,很多用戶都有錯誤的觀念。
如:
- 要重新鎖回&上鎖(RELOCKED)才能OTA
拜託!!!!
不要RELOCKED!!
不要RELOCKED!!
不要RELOCKED!!
因為很重要所以要說三次!!
因為你再解鎖一次手機重置之外,還會遺失一堆檔案!!
- 要S-OFF的手機才能OTA
沒有這種事!!
沒有這種事!!
沒有這種事!!
因為很重要所以要說三次!!
S-ON也可以OTA的好嗎!!!
- 有ROOT就不能OTA
有ROOT照樣可以OTA!!
有ROOT照樣可以OTA!!
有ROOT照樣可以OTA!!
因為很重要所以要說三次!!
ROOT跟OTA沒有任何關係OK!!!
其實OTA的滿足條件只要正確就能順利OTA的,
就看他驗證些什麼。