ClockworkMod Recovery瀹炵幇搴旂敤android涓€閿寲鍦ㄧ嚎鍗″埛鍗囩骇
1銆乤ndroid璁惧绯荤粺绠€浠?/h1>
android 璁惧鍦ㄥ唴缃殑Flash璁惧鍒掑垎浜嗗緢澶氬垎鍖恒€傛瘡涓垎鍖烘湁涓嶅悓鐨勫姛鑳戒綔鐢紝浠嬬粛鍑犱釜涓昏鐨勶細
boot:
杩欎釜鍒嗗尯瑁呰浇鐨勬槸linux kernel杩欎釜灏辨槸鎿嶄綔绯荤粺鐨勯暅鍍忥紝绯荤粺浠?span style="font-family:Times New Roman">bootloader璧锋潵浠ュ悗灏辨槸閫氳繃鍔犺浇boot闀滃儚鏉ュ惎鍔ㄥ拰绠$悊鏁翠釜鎵嬫満鐨勭‖浠跺拰杞欢鐨勶紝姣斿鎸傝浇鍏朵粬鍒嗗尯锛?span style="font-family:Times New Roman">SD鍗★紝鍔犺浇绯荤粺APK搴旂敤绛夌瓑涓€绯诲垪宸ヤ綔锛屼粬灏辨槸鏁翠釜鎵嬫満鐨勫ぇ鑴戙€?/span>
recovery:
杩欎釜鍒嗗尯涔熷寘鍚簡linux kernel闀滃儚锛屽彧涓嶈繃鍚姩涔嬪悗鍙姞杞戒竴浜涚畝鍗曠殑鍒嗗尯锛屾彁渚涚畝鍗曠殑鐣岄潰鎻愪緵缁欑敤鎴疯繘琛屽崱鍒枫€佹竻闄ゆ暟鎹€佹竻闄ょ紦瀛樹互鍙婂垎鍖烘暟鎹浠界殑鍔熻兘銆傛湰浜轰箣鍚庝粙缁嶇殑涓€閿湪绾垮崌绾у氨鏄€氳繃recovery妯″紡杩涜鍔犺浇鐨勶紱
system:
杩欎釜鍒嗗尯瀛樺偍浜嗕富瑕佺殑绯荤粺搴旂敤锛屼互鍙婄郴缁熷惎鍔ㄦ墍鏈夊繀瑕佺殑鏈嶅姟鐨勬墽琛?span style="font-family:Times New Roman">bin鏂囦欢銆傝繖涓垎鍖鸿鎸傝浇浠ュ悗鏄?span style="font-family:Times New Roman">RO鍐欎繚鎶ょ殑锛屽鏋滈渶瑕佸杩欎釜鍒嗗尯杩涜澶勭悊鐨勮瘽鏄渶瑕佷竴浜涢噸鎸傝浇鐨勬搷浣滅殑銆?/span>
cache: 杩欎釜鍒嗗尯瀛樺偍浜嗙紦瀛樻暟鎹紝涓€鑸兘鏄笉閲嶈鐨勬暟鎹紱
data: 杩欎釜鍒嗗尯鏄墍鏈夊簲鐢ㄧ殑鏁版嵁涓昏瀛樺偍鍖猴紝鍦?span style="font-family:Times New Roman">data/data鐩綍涓寜鐓ф瘡涓簲鐢ㄧ殑鍖呭悕瀛樻斁鏁版嵁锛?span style="font-family:Times New Roman">android涓瘡涓簲鐢ㄧ殑鍏变韩鏁版嵁銆?span style="font-family:Times New Roman">SQLITE鏁版嵁閮芥槸榛樿瀛樺偍鍦ㄨ繖閲屻€傛瘮濡傝甯哥敤鐨勮缃€佺煭淇°€佽仈绯讳汉绛夌瓑閮芥槸濡傛銆?/p>
Adb shell
Cat /proc/mtd
鍙互鐪嬪埌鎸傝浇鐨勮澶?/span>
dev: size erasesize name
mtd0: 00080000 00020000 "obm"
mtd1: 00080000 00020000 "bootloader"
mtd2: 00040000 00020000 "ramdisk"
mtd3: 00040000 00020000 "imei"
mtd4: 00700000 00020000 "arbelbinary"
mtd5: 00100000 00020000 "msabinary"
mtd6: 00400000 00020000 "kernel"
mtd7: 00400000 00020000 "maintenance"
mtd8: 00500000 00020000 "recovery"
mtd9: 00040000 00020000 "misc"
mtd10: 03d40000 00020000 "cache"
mtd11: 0be00000 00020000 "system"
mtd12: 0d200000 00020000 "userdata"
mtd13: 00800000 00020000 "nvm"
mtd14: 00800000 00020000 "telephony"
mtd15: 00200000 00020000 "reserved"
mtd16: 00a00000 00020000 "MRVL_BBM"
2銆乺ecovery 娴佺▼浠嬬粛
鎴戜滑涓嶈皥璁哄浣曚笅杞藉崌绾у寘鐨勮繃绋嬶紝浠庡崱涓婂瓨鏀句簡涓€涓?span style="font-family:Times New Roman">update.zip浣滀负鍓嶆彁銆?/span>
绯荤粺鏄浣曠煡閬撴垜浠湪鐣岄潰閫夋嫨浜嗗崌绾у寘鍚庡苟甯垜浠竴閿崌绾х殑鍛?/span>
脴 姝e父涓荤郴缁熷湪鍚姩杩涘叆bootload鐨勬椂鍊欎細妫€鏌ヤ竴涓?span style="font-family:Times New Roman">BCB鏁版嵁鍧楃殑鍛戒护锛屽鏋滄湁reboot-recovery鍛戒护鏍囧織鐨勮瘽鍒欏姞杞?span style="font-family:Times New Roman">recovery.img绯荤粺闀滃儚锛屽鏋滄病鏈夌殑璇濆垯姝e父鍔犺浇boot.img绯荤粺灏辨槸鎴戜滑鎵嬫満鐨勬甯稿惎鍔ㄨ繃绋嬩簡锛堟寕杞借澶囥€佹寜鐓?span style="font-family:Times New Roman">init.rc閰嶇疆杩涜杩涚▼鏈嶅姟鐨勫姞杞斤級
鍙傝€冿細http://blog.csdn.net/mu0206mu/article/details/7464987
BCB鏄?span style="font-family:Times New Roman">bootloader涓?span style="font-family:Times New Roman">Recovery鐨勯€氫俊鎺ュ彛锛屼篃鏄?span style="font-family:Times New Roman">Bootloader涓?span style="font-family:Times New Roman">Main system涔嬮棿鐨勯€氫俊鎺ュ彛銆傚瓨鍌ㄥ湪flash涓殑MISC鍒嗗尯锛屽崰鐢ㄤ笁涓?span style="font-family:Times New Roman">page锛屽叾鏈韩灏辨槸涓€涓粨鏋勪綋锛屽叿浣撴垚鍛樹互鍙婂悇鎴愬憳鍚箟濡備笅锛?/p>
struct bootloader_message{
char command[32];
char status[32];
char recovery[1024];
};
鈶?span style="font-family:Times New Roman">command鎴愬憳锛氬叾鍙兘鐨勫彇鍊兼垜浠湪涓婃枃宸茬粡鍒嗘瀽杩囦簡锛屽嵆褰撴垜浠兂瑕佸湪閲嶅惎杩涘叆Recovery妯″紡鏃讹紝浼氭洿鏂拌繖涓垚鍛樼殑鍊笺€傚彟澶栧湪鎴愬姛鏇存柊鍚庣粨鏉?span style="font-family:Times New Roman">Recovery鏃讹紝浼氭竻闄よ繖涓垚鍛樼殑鍊硷紝闃叉閲嶅惎鏃跺啀娆¤繘鍏?span style="font-family:Times New Roman">Recovery妯″紡銆?/p>
鈶?span style="font-family:Times New Roman">status锛氬湪瀹屾垚鐩稿簲鐨勬洿鏂板悗锛?span style="font-family:Times New Roman">Bootloader浼氬皢鎵ц缁撴灉鍐欏叆鍒拌繖涓瓧娈点€?/p>
鈶?span style="font-family:Times New Roman">recovery锛氬彲琚?span style="font-family:Times New Roman">Main System鍐欏叆锛屼篃鍙Recovery鏈嶅姟绋嬪簭鍐欏叆銆傝鏂囦欢鐨勫唴瀹规牸寮忎负锛?/p>
鈥渞ecovery\n
<recoverycommand>\n
<recoverycommand>鈥?/span>
脴 杩涘叆recovery妯″紡鍚庯紝绯荤粺浼氫粠cache/recovery/command鏂囦欢璇诲彇鎵ц鍛戒护锛堟竻闄ゆ暟鎹€佺紦瀛橈紝澶囦唤锛屽崱鍒峰崌绾х瓑绛夋搷浣滐級
cache/recovery/command鏂囦欢鐨勬潵鍘嗭細
鍦ㄤ竴閿崌绾х殑鏃跺€欙紝绯荤粺棣栧厛灏嗏€?span style="font-family:Times New Roman">--update_package=root:path鈥濆啓鍏?span style="font-family:Times New Roman">cache/recovery/command鏂囦欢
/cache/recovery/command锛氳繖涓枃浠朵繚瀛樼潃涓荤郴缁熶紶缁?span style="font-family:Times New Roman">Recovery鐨勫懡浠よ锛屾瘡涓€琛屽氨鏄竴鏉″懡浠わ紝鏀寔涓€涓嬪嚑绉嶇殑缁勫悎銆?/p>
--send_intent=anystring //write the text out to recovery/intent 鍦?span style="font-family:Times New Roman">Recovery缁撴潫鏃跺湪finish_recovery鍑芥暟涓皢瀹氫箟鐨?span style="font-family:Times New Roman">intent瀛楃涓蹭綔涓哄弬鏁颁紶杩涙潵锛屽苟鍐欏叆鍒?span style="font-family:Times New Roman">/cache/recovery/intent涓?/p>
--update_package=root:path //verify install an OTA package file Main system灏嗚繖鏉″懡浠ゅ啓鍏ユ椂,浠h〃绯荤粺闇€瑕佸崌绾э紝鍦ㄨ繘鍏?span style="font-family:Times New Roman">Recovery妯″紡鍚庯紝灏嗚鏂囦欢涓殑鍛戒护璇诲彇骞跺啓鍏?span style="font-family:Times New Roman">BCB涓紝鐒跺悗杩涜鐩稿簲鐨勬洿鏂?span style="font-family:Times New Roman">update.zip鍖呯殑鎿嶄綔銆?/p>
--wipe_data //erase user data(and cache),then reboot銆傛摝闄ょ敤鎴锋暟鎹€傛摝闄?span style="font-family:Times New Roman">data鍒嗗尯鏃跺繀椤昏鎿﹂櫎cache鍒嗗尯銆?/p>
--wipe_cache //wipe cache(but not user data),then reboot銆傛摝闄?span style="font-family:Times New Roman">cache鍒嗗尯銆?/p>
脴 鏍规嵁璇诲彇鐨勫懡浠?span style="font-family:Times New Roman">recovery绯荤粺浣跨敤/sbin/recovery鎵ц鏂囦欢鏉ユ墽琛屽懡浠わ紙娓呴櫎鏁版嵁銆佺紦瀛橈紝澶囦唤锛屽崱鍒峰崌绾х瓑绛夛級
鍋氬畬涔嬪悗绯荤粺reboot,鍚屾椂鍒犻櫎BCB鎺у埗鍧?span style="font-family:Times New Roman">reboot-recovery鍛戒护鏍囧織锛屽苟涓斿垹闄?span style="font-family:Times New Roman">cache/recovery/command鏂囦欢锛堝鏋滀笉杩欐牱鍋氱殑璇濓紝绯荤粺杩涗竴鐩村惊鐜繘鍏?span style="font-family:Times New Roman">recovery妯″紡锛?/span>
褰撶劧浜嗭紝鍗囩骇杩囩▼涓湁浠讳綍闂锛屽彲浠ュ湪cache/recovery/log鏂囦欢鏌ョ湅锛岃鏂囦欢瀛樺偍浜嗗崌绾ц繃绋嬩腑鐨勬墍鏈夋墦鍗?span style="font-family:Times New Roman">LOG
3銆?/span>绗笁鏂?span style="font-family:Times New Roman">Recovery闀滃儚浠嬬粛
http://wiki.cyanogenmod.com/wiki/Howto:_Using_the_Recovery
涓€涓嬩袱涓槸姣旇緝鏈夊悕鐨?span style="font-family:Times New Roman">recovery宸ュ叿锛屽鏋滈渶瑕佷娇鐢ㄧ殑璇濓紝瑕佸幓瀹樼綉鐪嬩笅鏀寔鐨勬満鍨嬶紝涓嶈兘涔辩敤鐨勫摝锛屽皬蹇冧綘鐨勬墜鏈哄彉鐮栥€?/span>
http://www.clockworkmod.com/rommanager杩欎釜缃戝潃鏄?strong>ClockworkMod Recovery閰嶅鐨?span style="font-family:Times New Roman">ROM Manager搴旂敤鏀寔鐨勬満鍨嬶紝涓€鑸繖涓敮鎸佺殑璇濓紝浣犵殑鎵嬫満鑲畾鏄敮鎸?span style="font-family:Times New Roman">ClockworkMod Recovery鐨勩€?/strong>
ClockworkMod Recovery鍜?span style="font-family:Times New Roman"> Amon_Ra's Recovery閮芥槸寰堟湁鍚嶇殑绗笁鏂?span style="font-family:Times New Roman"> Recovery锛屽姛鑳介兘寰堝己澶э紝涓嶈繃鍓嶈€呯殑浣跨敤鑰呮洿澶氥€傚畠浠袱鑰呭寘鎷殑鍔熻兘涓庡尯鍒涓嬨€?/strong>
ClockworkMod Recovery鍔熻兘鍖呮嫭锛?/p>
1. reboot system now锛氶噸鍚郴缁?/p>
2. apply update from sdcard锛氫粠SD鍗″崌绾?span style="font-family:Times New Roman">update.zip鍗囩骇鍖?/p>
3. wipe data/factory reset锛氭摝闄ゆ暟鎹?span style="font-family:Times New Roman">/鎭㈠鍑哄巶璁剧疆
4. install zip from sdcard锛氫粠SD鍗″畨瑁?span style="font-family:Times New Roman">zip鍗囩骇鍖?/p>
5. backup and restore锛氬浠戒笌鎭㈠
6. mounts and storage锛氳杞戒簬鍗歌浇鍚勪釜鍖轰笌瀛樺偍鍣?/p>
7. advanced锛氶珮绾э紝濡傚SD鍗¤繘琛屽垎鍖猴紝娓呴櫎 Dalvik缂撳瓨绛?/p>
8. power off锛氬叧鏈?/p>
Amon_Ra's Recovery 鍔熻兘鍖呮嫭锛?/p>
1. Reboot system now锛氶噸鍚郴缁?/p>
2. USB-MS toggle锛氭妸鎵嬫満鍜屽缃?span style="font-family:Times New Roman">SD鍗″綋鍋?span style="font-family:Times New Roman">USB澶у閲忓瓨鍌ㄥ櫒
3. Backup/Restore锛氬浠戒笌鎭㈠
4. Flash zip from sdcard锛氫粠SD鍗″埛zip鍗囩骇鍖?/p>
5. Wipe锛氭摝闄ゆ暟鎹?/p>
6. Partition sdcard锛氬SD鍗¤繘琛屽垎鍖?/p>
7. Mounts锛氳杞芥垨鍗歌浇鍚勪釜鍒嗗尯
8. Other锛氬叾浠栵紝濡備慨澶?span style="font-family:Times New Roman">APK UID閿欒
9. Power off锛氬叧鏈?/p>
4銆?/span>鍒╃敤Clockwork Mod杩涜鎵╁睍涓€閿崌绾у崌绾?/h1> http://wifihack.net/blog/2012/04/android-clockworkmod-recovery-system-updat/
涓?span style="font-family:Times New Roman">android鍘熺敓鐨?span style="font-family:Times New Roman">recovery
鍗囩骇娴佺▼涓嶄竴鏍风殑鏄紝Clockwork Mod鍙互杩涜鎵╁睍瀹氬埗鍗囩骇骞跺彇娑堢鍚嶉獙璇侊紙CWM濡傛灉瑕佸彇娑堢鍚嶉獙璇佽繘琛屽崌绾э紝涓嶈兘浣跨敤Android榛樿鐨勶級
鍒犻櫎 /cache/recovery/command鏂囦欢锛岀‘淇濇病鏈夎鏂囦欢
鍦?span style="font-family:Times New Roman"> /cache/recovery/extendedcommand鍐欏叆鐩稿叧鐨勫崌绾у懡浠ゃ€?strong>
鍚屾椂瑕佸湪 /sdcard/clockworkmod/.recoverycheckpoint鏂囦欢鍋氱浉鍏崇殑鏍囪銆?/span>
Clockwork Mod鐩稿叧鐨勮剼鏈涓嬶細
http://pastebin.com/c7S8Nxu4
脴 ui_print("ROM Manager Version 4.2.0.2");
脴 restore_rom("/sdcard/clockworkmod/backup/2011-05-13-13.03.52", "boot", "system", "data", "cache", "sd-ext");
脴 backup_rom("/sdcard/clockworkmod/backup/2011-05-13-13.23.20");
脴 install_zip("/sdcard/DRockstar.Clean.Kernel.EC05.v1.04.zip");
脴 backup_rom("/sdcard/clockworkmod/backup/2011-05-13-13.30.09");
脴 run_program("/cache/dowipedalvikcache.sh");
脴 format("/cache");
脴 format("/data");
脴 format("/sd-ext");
鍖呭惈浜嗘墦鍗般€佸浠姐€佹仮澶嶃€佸崌绾с€佹牸寮忓寲銆?/span>
鏄笉鏄揩涓嶅強寰呯殑鎯崇湅鐪嬫垜浠殑婧愮爜浜嗭紝涓嬮潰璐村嚭涓昏鐨勯儴鍒嗭紝鍏蜂綋鍙互鍙傝鏈枃绔犵殑缁撳熬澶勭殑闄勪欢浠g爜
FileWritercheckpoint =newFileWriter(CLOCK_WORK_MOD_CHECKPOINT_FILE);
try {
checkpoint.write("1");
checkpoint.write("\n");
} finally {
checkpoint.close();
}
FileWritercommand =newFileWriter(EXTENDED_FILE);
try {
command.write("ui_print(\"ZPad ROM Manager Version:\"); ");
command.write("\n");
command.write("ui_print(\"2012.4.18\");");
command.write("\n");
command.write("ui_print(\"Preparing to install ROM...\");");
command.write("\n");
//assert(install_zip("/sdcard/update/kvbian-rom-signed-20120417-2112.zip"));
command.write("format(\"/cache\");");
command.write("\n");
command.write("assert(install_zip(\"" +ROMPATH+"\"));");
command.write("\n");
} finally {
command.close();
}
/**
* boot-recovery
* recovery
*/
// Having written the command file, go ahead and reboot
PowerManagerpm = (PowerManager)this.getSystemService(Context.POWER_SERVICE);
//pm.reboot("recovery");
pm.reboot("recovery");
鏁堟灉鍥撅細
闄勪欢浠g爜鐨勪笅杞藉湴鍧€锛?/span>
android涓€閿畆ecovery鍗囩骇绋嬪簭瀹炰緥
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer