2012-04-18 72 views
1

我想創建C + +可執行文件以通過Android手機上的ADB閃存ROM,任何人都可以幫我解決這個問題嗎? 我有C++的基本知識,但不知道從哪裏開始 邏輯是 初始化頭文件 - >初始化ADB服務 - >啓動ADB shell - >使用flash_image二進制閃存.img文件 - >亞行重啓如何爲閃存ROM創建C++可執行文件?

任何人都可以給我一個簡單的例子閃爍啓動圖像? 我不知道應該包含哪些頭文件,應該使用哪種編譯器。 創建一個新的線程,因爲我沒有找到有關這

謝謝

+0

圖像閃爍是由adb完成的,你只需要打開一個管道到adb可執行文件,爲它提供命令並觀看輸出 – 2012-04-18 04:47:10

+0

是的......我已經閃過boot.img,recovery.img圖像幾次使用亞行,但想創建一個相同的C++可執行文件 你可以舉個例子來使用C++刷新啓動映像嗎? 這個例子會解釋我很多:) 是否有可能使用ADB刷新system.img? 要使用哪個編譯器? – 2012-04-18 04:55:30

回答

1

ADB無關閃着ROM的東西,亞行正在調試接口,這需要系統啓動並運行在手機上。試圖用完全運行的系統刷新ROM映像就像是在沒有麻醉劑的情況下進行心臟手術。

有ROM圖像重新刷新的兩種基本方法正確:

  1. update.zip
  2. FASTBOOT

前者是當你複製/下載的ROM映像作爲更新.zip到SD卡,然後使用恢復來更新系統。這通常涉及用戶按下一些按鈕,然後再次關閉手機。這是最好的方法,因爲更新文件已經安全地存儲在SD卡上,可以進行檢查和驗證,並且製作手機的機會很少。

當你將手機連接到PC,它與「亞行重新啓動引導程序」切換到FASTBOOT模式(或關閉/開啓並保持一些按鈕),然後用FASTBOOT執行ROM更新第二個是魔法。問題是,當使用fastboot時,你需要一個非常可靠的USB連接。任何通訊錯誤和手機都被堵住了。這就是爲什麼我不使用並且不建議使用fastboot方法來刷新ROM。

如果您不介意使用fastboot方法砌磚您的手機,C++程序將非常簡單。

  1. 解壓ROM映像的地方(如果您有它包裝裏面的程序)
  2. 問題的exec()或()調用運行「亞行重新啓動引導程序」,然後「FASTBOOT閃光燈*」命令,然後,最後'fastboot reboot'
  3. 如果你已經正確地做了所有事情(捕獲並處理adb和fastboot的輸出來檢查結果),你的設備將被重新命名並重新啓動。

最後,我想再次強調一下,使用fastboot重新刷寫ROM非常危險,如果可能,我建議儘量避免。

+0

謝謝 但是我更喜歡亞行,因爲不是所有的手機都有快速啓動,是嗎?其中一些有下載模式。 你能舉個例子嗎,我是C++的新手有一個非常基礎的知識 我會對閃存啓動映像的例子感興趣吧 – 2012-04-19 06:32:10

+0

其次,爲什麼不繫統啓動時flash system.img? 由於閃爍系統並通過adb reboot命令手機將重新啓動,一切都將正常。 也許在閃光的手機將死(不死,但可能會導致黑屏),但亞行橋仍然是,不是嗎? 我已經閃過啓動,通過亞行恢復圖像,但想創建一個單擊C++程序:) – 2012-04-19 06:36:35

+0

是的,即使手機有fastboot支持,我也不會冒險使用fastboot – 2012-04-19 06:38:35

相關問題