2012-05-30 121 views
52

基本上,這是我的問題/擦除數據/恢復出廠設置通過ADB

我有200+手機運行Android的股票需要擦拭(在清空數據/恢復出廠設置的方式),然後安裝一個新的ROM一些額外的apks。

目前我已經擁有了除Wipe Data部分之外的所有功能。其他的一切都可以通過一個.bat命令來完成,但是我不能在我的生活中弄清楚如何模仿或強制恢復模式來擦除數據。

事情我已經試過目前:

  • 使用RM -r *它應該做的文件夾(數據高速緩衝存儲器,SD-EXT等)擦自己的數據。這確實擦拭,但然後ROM不能正常工作,並卡住了一個bootloop。
  • 嘗試使用「adb input keyevent」來模仿按鍵。我不知道它們映射到的是什麼,因爲它們基本上在UNIX shell中,即使那樣也沒有「輸入」,因爲操作系統還沒有加載。
  • 試圖在系統上找到實際運行擦除/重置然後手動運行的文件/腳本。這可能是最簡單的方法,因爲它已經爲我寫了一個地方,但我不能看到它隱藏在哪裏,即使是像CWM這樣的東西。

如果任何人有任何方法可以通過.bat或通過adb shell來重置這個工廠,我將不勝感激。一直試圖解決這個問題大約2天,現在幾乎沒有進展。

+0

這可能會做的更好的http://android.stackexchange.com – styler1972

+0

謝謝:)其實我我想我已經設法解決了這個問題,所以我會更新這個問題,以防其他人知道這一點,並從谷歌中找到這個問題。 –

+0

此代碼爲我工作:adb外殼am廣播-a android.intent.action.MASTER_CLEAR –

回答

54

經過大量的挖掘後,我終於下載了Android的恢復部分的源代碼。事實證明,你實際上可以發送命令到恢復。

* The arguments which may be supplied in the recovery.command file: 
* --send_intent=anystring - write the text out to recovery.intent 
* --update_package=path - verify install an OTA package file 
* --wipe_data - erase user data (and cache), then reboot 
* --wipe_cache - wipe cache (but not user data), then reboot 
* --set_encrypted_filesystem=on|off - enables/diasables encrypted fs 

這些都是你可以根據使用的一個,我發現了命令,但可能是改裝成不同的文件。因此,使用亞行,你可以這樣做:

adb shell 
recovery --wipe_data 

使用--wipe_data似乎做什麼,我一直在尋找這是方便的,雖然我還沒有完全測試,這是呢。

編輯:

仍然使用這個話題的人,這些命令可基於您正在使用的恢復。如果您正在使用時鐘恢復,這些命令應該仍然有效。你可以在/緩存/恢復/命令

其他命令的詳細信息,請參閱此處: https://github.com/CyanogenMod/android_bootable_recovery/blob/cm-10.2/recovery.c

+6

只是FYI - 我的個人手機,三星Galaxy S2 I9100(我是一個開發人員,但不是在Android)已經停止響應後嘗試使用ROM管理器進行備份。我甚至無法啓動恢復或下載模式。在搜索互聯網之後,我嘗試使用Odin,但它沒有識別手機。亞行做了,然後我找到了這篇文章。使用此命令後,我的手機終於響應!非常感謝,即使你不是這個意思。我希望別人能通過我的推薦找到你的帖子。 –

+5

*恢復:未找到* Android調試橋版本1.0.31 | Droid 2 Global | CyanogenMod 7.2 – earthmeLon

+5

嘗試使用'wipe'命令。儘管('adb shell,su'或者'adb root')你必須是root來擦除數據,但是如果你不能獲得root權限,這將不起作用。 –