簡體   English   中英

如何為閃存ROM創建C ++可執行文件?

[英]How to create C++ executables for flashing ROMs?

我想創建C ++可執行文件以通過android手機上的ADB刷新ROM,有人可以幫我嗎? 我具有C ++的基本知識,但無法理解應該從哪里開始。邏輯是初始化頭文件->初始化ADB服務->啟動ADB Shell->使用flash_image二進制文件刷新.img文件-> ADB重新啟動

誰能給我一個簡單的示例來刷新啟動映像? 我不知道應該包含哪些頭文件,應該使用哪個編譯器。 創建了一個新線程,因為我對此一無所獲

謝謝

adb與閃存ROM無關,adb是調試器接口,需要系統啟動並在手機上運行。 嘗試在完全運行的系統上刷新ROM映像就像執行沒有麻醉的心臟手術一樣。

正確刷新ROM映像有兩種基本方法:

  1. update.zip
  2. FASTBOOT

前一種是當您將ROM映像作為update.zip復制/下載到sdcard,然后使用恢復來更新系統時。 這通常涉及到用戶按下某些按鈕並重新打開和關閉手機電源。 這是最好的方法,因為可以將更新文件安全地存儲在sdcard上,並且可以進行檢查和驗證,並且將手機變成磚頭的機會微乎其微。

第二個是當您將手機連接到PC時,使用“ adb reboot bootloader”(或關閉/打開並按住某些按鈕)將其切換到fastboot模式,然后使用fastboot進行ROM更新。 問題是,使用fastboot時,您需要一個非常可靠的USB連接。 任何通信錯誤,電話都變磚了。 這就是為什么我不使用也不推薦使用fastboot方法來刷新ROM的原因。

如果您不介意使用fastboot方法對手機進行修改,那么C ++程序將非常簡單。

  1. 將ROM映像解壓縮到某個位置(如果已將其打包在程序中)
  2. 發出exec()或system()調用以運行“ adb reboot bootloader”,然后運行“ fastboot flash *”命令,然后運行“ fastboot reboot”
  3. 如果您正確完成了所有操作(捕獲並處理adb和fastboot的輸出以檢查結果),則設備將被刷新並重新啟動。

最后,我想再次強調一下,使用fastboot重新刷新ROM是非常危險的,我建議盡可能避免這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM