华为荣耀4X使用eRecovery恢复系统
壞的過程不多說了,此機現在的狀態是:恢復出廠設置失敗,Fastboot不能連接USB(請求設備描述符失敗),充電時按音量+開機,可以進入eRecovery模式,可以連接wifi但“獲取安裝包信息失敗”。
經過論證與實踐,找到一個可行方案:搭建服務器,讓手機能獲取到安裝包信息。先貼上兩個重要的地址
榮耀4X官方刷機包,我的型號是CHE-TL00H,從下面的鏈接中可以找到我的型號,點了一下可以下載。
https://cn.club.vmall.com/thread-11625493-1-6-1610.html
搭建升級包服務器的一個例子,他是用一種代理軟件來獲得手機的請求地址,并給予特定的返回信息。
https://www.micropissed.com/2017/01/you-can-upgrade-to-android-7emui-5-before-it-says-theres-an-update
下面來講一下我的具體實現:
1,電腦開熱點,讓手機連接上來,把它請求的地址利用Hosts文件直接解析到本機。通過上面的例子可以知道POST地址是
http://query.hicloud.com/sp_ard_common/v2/Check.action
所以我的hosts文件增加一條 192.168.137.1??? query.hicloud.com
2,寫一段程序來接收這個POST請求,并返回刷機包信息
;POST請求 /sp_ard_common/v2/Check.action 時,返回以下json{
"status": "0",
"autoPollingCycle": "1",
"components": [{
"name": "FRD-L04C567B360-OTA",
"version": "CHE-TL00HB580",
"versionID": "80022",
"description": "4X (2017/01/03)",
"createTime": "2017-01-03T03:18:12+0000",
"url": "http://update.hicloud.com:8180/TDS/data/files/p3/s15/G1020/g223/v80022/f1/"
}]
};上面的url是我手機的下載地址,必須跟自己的手機對應啊
這樣再連接wifi就可以獲取到安裝包了。
我還遇到恢復系統時卡在99%不動了,我按電源強制重啟,竟然正常開機了,手機修復。
下面再貼一下關鍵代碼,用go語言的,有個叫gin的web服務端框架,很好用。
package mainimport ("fmt""net/http""github.com/gin-gonic/gin"
)func main() {gin.SetMode(gin.DebugMode) //全局設置環境,此為開發環境,線上環境為gin.ReleaseModerouter := gin.Default() //獲得路由實例//添加中間件router.Use(Middleware)//注冊接口router.POST("/sp_ard_common/v2/Check.action", HuaweiJson)//監聽端口http.ListenAndServe(":80", router)
}func HuaweiJson(c *gin.Context) {retjson := `{
"status": "0",
"autoPollingCycle": "1",
"components": [{
"name": "FRD-L04C567B360-OTA",
"version": "CHE-TL00HB580",
"versionID": "80022",
"description": "4X (2017/01/03)",
"createTime": "2017-01-03T03:18:12+0000",
"url": "http://update.hicloud.com:8180/TDS/data/files/p3/s15/G1020/g223/v80022/f1/"
}]
}`c.Data(http.StatusOK, "application/json", []byte(retjson))return
}
最后,再上幾張圖吧,使用wireshark抓包分析的
/full/filelist.xml<?xml version="1.0" encoding="utf-8"?>
<root>
<component>
<name>TCPU</name>
<compress>0</compress>
</component>
<vendorInfo name="common" subpath="" logfile="changelog.xml" package="update.zip" />
<files>
<file>
<spath>changelog.xml</spath>
<dpath>changelog.xml</dpath>
<operation>c</operation>
<md5>B77CE557BE18D9AE56EF75AFE989CF7A</md5>
<size>2534</size>
</file>
<file>
<spath>update.zip</spath>
<dpath>update.zip</dpath>
<operation>c</operation>
<md5>FA2AA6B0FAE8416842CFCA6A13CB3ACF</md5>
<size>1622005806</size>
</file>
</files>
</root>
?
總結
以上是生活随笔為你收集整理的华为荣耀4X使用eRecovery恢复系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于业务和平台理解数字营销概念
- 下一篇: SQL Server Denali:SS