updater-script
ui_print("Now hota starting...");
ui_print("Verifying current system...");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "Huawei/U8860/hwu8860:4.0.3/HuaweiU8860/C00B972SP02:user/ota-rel-keys,release-keys" ||
file_getprop("/system/build.prop", "ro.build.fingerprint") == "Huawei/U8860/hwu8860:4.0.3/HuaweiU8860/C00B977:user/ota-rel-keys,release-keys");
ui_print("Checking patch files...");
show_progress(0.200000, 0);
set_progress(0.013698);
assert(apply_patch_check("/fat/image/boot.img", "102370c12f5015fb04d68d493dc60a4a79e45378", "f35ff985451cdc557fff4d23a915d45ca3de6a24"));
set_progress(0.027397);
assert(apply_patch_check("/fat/image/recovery.img", "854ab50b6440653d6928b5eab8f0c64ada3ea261", "3dafd1e7fde17e4d5ee1d6900ae7f686aa4d670b"));
set_progress(0.041095);
assert(apply_patch_check("/system/app/Calendar.apk", "7b07bdf8efd7d7876f2751b873de6ef784ac7a4b", "d740a3fbafdff1c4940f38c90759c83be8814663"));
set_progress(0.054794);
assert(apply_patch_check("/system/app/Contacts.apk", "d1eca7be092992a6b0662700e40d2aed52036cab", "70d9c14ea5b94f2b3bde9167007c229bd1d49e97"));
set_progress(0.068493);
assert(apply_patch_check("/system/app/HwOUC.apk", "c9304d64f3e3d8feb132d6803622b8bbaee1756c", "5c1bbc1403829a93018bc1d98313cea5264baa29"));
set_progress(0.082191);
assert(apply_patch_check("/system/app/LatinIME.apk", "944e1e075efea72f7d03fda81e17fa442e9cc289", "323036948bbe07161a27f5b9ee30f61228a16e51"));
set_progress(0.095890);
assert(apply_patch_check("/system/app/LiveWallpapersPicker.apk", "4180e8f91fb292e140d9a97f0f1dc2fc9cb2de8d", "d66e6b9f2c6909b1679d8cde1346f1500d3774d5"));
set_progress(0.109589);
assert(apply_patch_check("/system/app/Phone.apk", "e1ceceb75ea3290e0b46eb7c05c4e8917ed9a32e", "d0cf87a9fcde5df822eee759d66756ec58eda5a9"));
set_progress(0.123287);
assert(apply_patch_check("/system/app/Settings.apk", "c9222620296e35183c5388328802d960b3788d77", "873c025a7b298df63e5be2abf20d9f05efdd7d6a"));
set_progress(0.136986);
assert(apply_patch_check("/system/bin/debuggerd", "debd82cd5a4dc375a12d23111bd102827c5f9727", "7e8bdd81b0203e64f41ea9f27439565516bd4bd4"));
set_progress(0.150684);
assert(apply_patch_check("/system/bin/loc_api_app", "f778254c3c1af7b4270e311daf3faf05814edb9f", "f8f1532d4bc300ff40fd923c5468f891af8ef656"));
set_progress(0.164383);
assert(apply_patch_check("/system/bin/wpa_supplicant", "4f9a4e68c8f73bdbca4e5c83544e4e7cdc0ba939", "551ecd63f6fe5305ec184d725d9a355632200b26"));
set_progress(0.178082);
assert(apply_patch_check("/system/build.prop", "09513b26717348d9c50dfaa0b6d6babb11cb88ca", "e4cdecfe76c7aee711e95f6a40698a4848dcc54c"));
set_progress(0.191780);
assert(apply_patch_check("/system/etc/security/otacerts.zip", "164581b82e31bd0f41bbe3b507c52fe510d32f11", "3516f7d92f534ac125902172eceddb977709626d"));
set_progress(0.205479);
assert(apply_patch_check("/system/filelist.lst", "d08d32dcf6237143d39f67aac8e690f6e9b2fdeb", "3d6613b028cfae0a98bdc2e63955ec709fb2eb65"));
set_progress(0.219178);
assert(apply_patch_check("/system/framework/am.jar", "f1263ff23bb5ec0510119a517184fb78f3ec1bf1", "1025ff0b3b5b8965ebfe6961c645465455e919a8"));
set_progress(0.232876);
assert(apply_patch_check("/system/framework/android.test.runner.jar", "6faf362dcfc9c1fb93dc5566fd2f768244b6e5a8", "b6450eaf3bf3428b0374579e1662897c5c82e1c0"));
set_progress(0.246575);
assert(apply_patch_check("/system/framework/apache-xml.jar", "48bf0a10a21ee1c5c8532a5cd772d96769cc6c1c", "4e52f5c228e73e7c8fc985785ba7ee9591660ce6"));
set_progress(0.260273);
assert(apply_patch_check("/system/framework/bmgr.jar", "1a62cdc703bc1387af29b31c64c0bb30ffa0bf00", "a1753cc3b53fb18c61cfea6d1ec328743c10f9a1"));
set_progress(0.273972);
assert(apply_patch_check("/system/framework/bouncycastle.jar", "03d8328a330c507028a6ce89e87bd45b15aa36cf", "15d0486c1a145920475db8c0e5fc00aaa3998a28"));
set_progress(0.287671);
assert(apply_patch_check("/system/framework/bu.jar", "0e866d449928c8ae11700f0f8426857bb3581583", "37a6e01b2a77225d242d20a2f5aa8e5214150323"));
set_progress(0.301369);
assert(apply_patch_check("/system/framework/com.android.future.usb.accessory.jar", "be7c1c4b71985caa276221d59bc4a699043efb9a", "867dab3e0b0be4bf7708ad0223ec555f7d4fadd6"));
set_progress(0.315068);
assert(apply_patch_check("/system/framework/com.android.location.provider.jar", "7fd011fa52bf5a09fe427e7e34b5b5a538699979", "6e21fa5f2bc39272654e372579eaf38957d5d6d1"));
set_progress(0.328767);
assert(apply_patch_check("/system/framework/com.qualcomm.location.vzw_library.jar", "6d15016da11c948b775c12b1e8c2e9480d14cbfa", "42308f1971546a3270088a510fd05098d6a081f6"));
set_progress(0.342465);
assert(apply_patch_check("/system/framework/core.jar", "9cc65f677e06de6c7dd3050edc981d51483a1085", "607451d1b904db64cfa4e66bd00295f313f3b5e7"));
set_progress(0.356164);
assert(apply_patch_check("/system/framework/core-junit.jar", "6afa03bac5c06be32564d0297ddca7f0132e40cd", "6132170258a4354ad61b69314b02acc6922456e3"));
set_progress(0.369863);
assert(apply_patch_check("/system/framework/ext.jar", "b8af09e0cedb6f83844bc438546a092c56f679b5", "aefa2cb9d41cb871f29b2fdc20ff0ee3deadd8d8"));
set_progress(0.383561);
assert(apply_patch_check("/system/framework/filterfw.jar", "63800a2d6947ba3a2955e34b5ca213f1fc0ba893", "51fac7bc7bf00bd2fe1b00040923ec34e83ee7d0"));
set_progress(0.397260);
assert(apply_patch_check("/system/framework/framework.jar", "2ce4d4c5615111b451c27f9c88caba547ea7c3ba", "f2d49fe2f6e6cd3a0290a0ad8b5926f0ed30f218"));
set_progress(0.410958);
assert(apply_patch_check("/system/framework/ime.jar", "c11629a74c87ec38f7e7684a2326055eb9aa8ed7", "5f6aa6881fd9fbb24bcb07224dc6ee69a41d29fc"));
set_progress(0.424657);
assert(apply_patch_check("/system/framework/input.jar", "8f63c6dd829f3bc002e7146ac8b22ba0237ebb43", "02da1603b48bfbbd540bb1d197479f40eecd6e4a"));
set_progress(0.438356);
assert(apply_patch_check("/system/framework/javax.obex.jar", "85b50999f15dcfa2edaa7712e452874da6a2c934", "1cad78fbda66b902012661df22cf48a45694abc4"));
set_progress(0.452054);
assert(apply_patch_check("/system/framework/monkey.jar", "131aaf3bb5531a8ed8215a58651852ba8fdb9176", "048ce68c1a48b1c3b6678e678711f43e00b6e58d"));
set_progress(0.465753);
assert(apply_patch_check("/system/framework/pm.jar", "12f9e06e88eda982c3fad843cf688c6b50c9a620", "56bdc7ed8f275db657e10c38f3911d214b1def55"));
set_progress(0.479452);
assert(apply_patch_check("/system/framework/svc.jar", "ef1822447604e77050cafedcd5cfab3554697369", "edc3cb3c02d9ff042803445ccc263a49ddd75c9d"));
set_progress(0.493150);
assert(apply_patch_check("/system/lib/hw/sensors.default.so", "3ece9581eefacece5461c66c005128144f52dd35", "b8b9cf07d8b94a2602e8a24f379a84e20b54232a"));
set_progress(0.506849);
assert(apply_patch_check("/system/lib/libbcc.so", "bcb88c1455b162c967c4dc4dff53d4085133b76c", "d8123d891f29658506a84ade39213da093d0f126"));
set_progress(0.520547);
assert(apply_patch_check("/system/lib/libbcc.so.sha1", "cf915ec189f01b2a3b32ed7b27494133339b8aa4", "2494ccfe882affc2d806934a6361c53efd1b3ace"));
set_progress(0.534246);
assert(apply_patch_check("/system/lib/libchromium_net.so", "a02c04d98ef83b48a48e53f3bfa8ecd3158a78b0", "30d988f2869cec2cc17d142f0b021ffffa4f8763"));
set_progress(0.547945);
assert(apply_patch_check("/system/lib/libstagefright.so", "d8514a1b1d72f8e391258bce4a483ecd1e696b4e", "146e497677407dcd4c7c42392607125a138a5470"));
set_progress(0.561643);
assert(apply_patch_check("/system/lib/libwebrtc_audio_preprocessing.so", "2edd1a116a49c3166c103d30000bf25febc0a698", "5e20f65841b9473b82d9c41aa5ae3eb3789c04a1"));
set_progress(0.575342);
assert(apply_patch_check("/system/lib/modules/ansi_cprng.ko", "8be719b13a0f843d225b33d16f528af7531e6ddd", "b9118ca84f34566c85426408719c919fb287c0e4"));
set_progress(0.589041);
assert(apply_patch_check("/system/lib/modules/cls_flow.ko", "a22cf3e7ffec12abe046b0fd9c5aac89267885c4", "dc7ad6813d92a50c13a311fea24c0ed233ac1919"));
set_progress(0.602739);
assert(apply_patch_check("/system/lib/modules/cpaccess.ko", "6fff665d27592ae4c08216583b5562d601ca7f55", "a50d779238ba144ff7dd06b9b95a1eae5fc24d3d"));
set_progress(0.616438);
assert(apply_patch_check("/system/lib/modules/dal_remotetest.ko", "79cd9cd2edaa80f4835920c57a90cd114231e52c", "8f449afd55b9f74cca58763ab17044c5e11dc174"));
set_progress(0.630136);
assert(apply_patch_check("/system/lib/modules/dma_test.ko", "4941d8e71792aa824fe85c8d8da92ac945c591aa", "1be55f665754d042afd04a6bb28081e201ae9326"));
set_progress(0.643835);
assert(apply_patch_check("/system/lib/modules/evbug.ko", "8b269be05112770a08b63d5a979ae057dbfc397a", "bec3b65095f0aa4eac96357f82f23a34531894f7"));
set_progress(0.657534);
assert(apply_patch_check("/system/lib/modules/gspca_main.ko", "d591954af7ff5b9ba871ef271d2b6d74c1505d61", "8951954433196b418e44fe3166339695383d6b43"));
set_progress(0.671232);
assert(apply_patch_check("/system/lib/modules/librasdioif.ko", "c1cce921f566386d3911142b7755d04d1aa44e6f", "5cb5990c2c23c989d6bf2015721c9acb261a2c70"));
set_progress(0.684931);
assert(apply_patch_check("/system/lib/modules/mtd_erasepart.ko", "43610fc90b9fd4d844b14f1916b8a25de92a8624", "e286fb9cfb1d1ab1097d0e49b2eff315720eed61"));
set_progress(0.698630);
assert(apply_patch_check("/system/lib/modules/mtd_nandecctest.ko", "60f7e5b8811cbc4f8f4777118107338c31919a85", "3ee54874699b553a697f15ce2b96350b41591d61"));
set_progress(0.712328);
assert(apply_patch_check("/system/lib/modules/mtd_oobtest.ko", "2219b649a09f036c22bbfe3bd6f05453540f2b35", "94ad985011fe3a8af9fe7eded1dcb622dd2ed760"));
set_progress(0.726027);
assert(apply_patch_check("/system/lib/modules/mtd_pagetest.ko", "37af595b2543e5bef991af46b5b810af506782bd", "10a51661bfd91ab9fb5d5345dc50134d6857e651"));
set_progress(0.739726);
assert(apply_patch_check("/system/lib/modules/mtd_readtest.ko", "719c719aa7090cf9d59351705392804c49a5cd8e", "60d59b4d473920c9880ced156e7de37aa1c4be07"));
set_progress(0.753424);
assert(apply_patch_check("/system/lib/modules/mtd_speedtest.ko", "ebabf4c38147ab3c157ac6c258ffee946b99acdb", "8f833e255feb206adf0a22652ec53ce0e7c14e3b"));
set_progress(0.767123);
assert(apply_patch_check("/system/lib/modules/mtd_stresstest.ko", "d316f2878f2cdbf1bb886cf7415df4e7d2d82357", "f14f400fb2c8d7b573a3a4bd5c8eaca39fc8f003"));
set_progress(0.780821);
assert(apply_patch_check("/system/lib/modules/mtd_subpagetest.ko", "29e351592114082850fcf65757223206ba8c402a", "cb148dc3ec087d42bba2e58ab6766144b48d03df"));
set_progress(0.794520);
assert(apply_patch_check("/system/lib/modules/mtd_torturetest.ko", "84956e0078734e182095d309c56a50b58e318b71", "dd41fbff40a953d14917ce838f501c13b4dc5c72"));
set_progress(0.808219);
assert(apply_patch_check("/system/lib/modules/qcedev.ko", "69ef242afc3110a69a9bd93fa2447b5c5ea83f95", "6cb8bf4d561ed8a7c4428a12521831ceba4b66b9"));
set_progress(0.821917);
assert(apply_patch_check("/system/lib/modules/qce.ko", "95fa8d3ea5ea22371206cb28f7c12a13f282fd18", "54fba332546c45b875f492f1073c3c796aafd92e"));
set_progress(0.835616);
assert(apply_patch_check("/system/lib/modules/qcrypto.ko", "98efd1173319764aec761a4ee1ad6cac3c2d296d", "2215d80dabaa980922719f1e234a02e4e38426ab"));
set_progress(0.849315);
assert(apply_patch_check("/system/lib/modules/reset_modem.ko", "43b55f733041eb026eb86fd3f390c196d724d056", "653720b7acfeccc5235053a6e414e86723fe0ef5"));
set_progress(0.863013);
assert(apply_patch_check("/system/lib/modules/sch_dsmark.ko", "d208f5d7aa9320998ff02eabe9e3bf179a6a4c9f", "adbbba943f17a5b66f4fd43b1413cb848157f8c8"));
set_progress(0.876712);
assert(apply_patch_check("/system/lib/modules/scsi_wait_scan.ko", "8fd0829f1be37f272d6878293679b0fe70c8420a", "f282e7d06acdd326e93851c8ae9af6a2377684de"));
set_progress(0.890410);
assert(apply_patch_check("/fat/image/amss.mbn", "a0329c0d7d65387f8945ab62774b1cb4cecf39d0", "117f089da080ccb8c481a08e557e08cf54bcbc1f"));
set_progress(0.904109);
assert(apply_patch_check("/system/app/Cloud.apk", "2c158b1ea8477d094245bb80e65abdef5550fefd", "d5f1be3397fa3d40231d00e9fb8f2f10fbd59538"));
set_progress(0.917808);
assert(apply_patch_check("/system/app/Mms.apk", "65d8edaa7eccb55904a4ce38caed816533a9d61f", "81264cef8a3c402483a3e7e983c25e6bf06fb339"));
set_progress(0.931506);
assert(apply_patch_check("/system/app/ProjectMenuAct.apk", "ed45bddca81e4bc4eb667f03443875365e6fd1dd", "774844aae75e591e9edb22fdcfa5c40ba7b180a4"));
set_progress(0.945205);
assert(apply_patch_check("/system/bin/diag_mdlog", "742e01e84571e7005944c7d24f45c50e1dfe887b", "5c29110b213104906c39997e33a11927910fe855"));
set_progress(0.958904);
assert(apply_patch_check("/system/cdrom/autorun.iso", "b6a23680be8496627837f8862902e0393fac190b", "5d64ca08167c5652a4402f5c1fd14956427b28bf"));
set_progress(0.972602);
assert(apply_patch_check("/system/etc/apns-conf.xml", "ccfd9ef742a770ae05d38f4792f47b51603c64b5", "6d6409eed62a283b97c86a03df4b27a2764e8926"));
set_progress(0.986301);
assert(apply_patch_check("/system/framework/android.policy.jar", "6151178cfc9f0537e35c28cd40776a29f435ffdd", "9dbdeb10476ae2ce4495fe34f65dc71ba0c08528"));
set_progress(1.000000);
assert(apply_patch_check("/system/framework/services.jar", "a220240ff41d21d0433b4fc76c1c67e918d52955", "3891380a430a1df7d687f9aac6bbc00d842ab565"));
show_progress(0.050000, 0);
ui_print("Removing unneeded files...");
set_progress(0.066666);
delete("/data_pseudo/custom.bin");
set_progress(0.133333);
delete("/system/app/AppServer_V100R001C37B05SP04.apk");
set_progress(0.200000);
delete("/system/app/Gmail.apk");
set_progress(0.266666);
delete("/system/app/GoogleContactsSyncAdapter.apk");
set_progress(0.333333);
delete("/system/app/GoogleFeedback.apk");
set_progress(0.400000);
delete("/system/app/GoogleLoginService.apk");
set_progress(0.466666);
delete("/system/app/GooglePartnerSetup.apk");
set_progress(0.533333);
delete("/system/app/Maps.apk");
set_progress(0.600000);
delete("/system/app/MarketUpdater.apk");
set_progress(0.666666);
delete("/system/app/NetworkLocation.apk");
set_progress(0.733333);
delete("/system/app/OneTimeInitializer.apk");
set_progress(0.800000);
delete("/system/app/Phonesky.apk");
set_progress(0.866666);
delete("/system/app/Street.apk");
set_progress(0.933333);
delete("/system/app/WAPPushManager.apk");
ui_print("Patching files...");
show_progress(0.700000, 0);
set_progress(0.013698);
assert(apply_patch("/fat/image/boot.img", "-",
102370c12f5015fb04d68d493dc60a4a79e45378, 4804608,
"f35ff985451cdc557fff4d23a915d45ca3de6a24",
package_extract_file("patch/fat/image/boot.img.p")));
set_progress(0.027397);
apply_patch("/fat/image/recovery.img", "/fat/image/recovery.img.bkup",
854ab50b6440653d6928b5eab8f0c64ada3ea261, 7192576,
"3dafd1e7fde17e4d5ee1d6900ae7f686aa4d670b",
package_extract_file("patch/fat/image/recovery.img.p"));
assert(apply_patch_check("/fat/image/recovery.img.bkup", "854ab50b6440653d6928b5eab8f0c64ada3ea261", "854ab50b6440653d6928b5eab8f0c64ada3ea261")||
apply_patch_check("/fat/image/recovery.img", "854ab50b6440653d6928b5eab8f0c64ada3ea261", "854ab50b6440653d6928b5eab8f0c64ada3ea261"));
set_progress(0.041095);
assert(apply_patch("/system/app/Calendar.apk", "-",
7b07bdf8efd7d7876f2751b873de6ef784ac7a4b, 1134574,
"d740a3fbafdff1c4940f38c90759c83be8814663",
package_extract_file("patch/system/app/Calendar.apk.p")));
set_progress(0.054794);
assert(apply_patch("/system/app/Contacts.apk", "-",
d1eca7be092992a6b0662700e40d2aed52036cab, 3074320,
"70d9c14ea5b94f2b3bde9167007c229bd1d49e97",
package_extract_file("patch/system/app/Contacts.apk.p")));
set_progress(0.068493);
assert(apply_patch("/system/app/HwOUC.apk", "-",
c9304d64f3e3d8feb132d6803622b8bbaee1756c, 584823,
"5c1bbc1403829a93018bc1d98313cea5264baa29",
package_extract_file("patch/system/app/HwOUC.apk.p")));
set_progress(0.082191);
assert(apply_patch("/system/app/LatinIME.apk", "-",
944e1e075efea72f7d03fda81e17fa442e9cc289, 1325838,
"323036948bbe07161a27f5b9ee30f61228a16e51",
package_extract_file("patch/system/app/LatinIME.apk.p")));
set_progress(0.095890);
assert(apply_patch("/system/app/LiveWallpapersPicker.apk", "-",
4180e8f91fb292e140d9a97f0f1dc2fc9cb2de8d, 232420,
"d66e6b9f2c6909b1679d8cde1346f1500d3774d5",
package_extract_file("patch/system/app/LiveWallpapersPicker.apk.p")));
set_progress(0.109589);
assert(apply_patch("/system/app/Phone.apk", "-",
e1ceceb75ea3290e0b46eb7c05c4e8917ed9a32e, 2660064,
"d0cf87a9fcde5df822eee759d66756ec58eda5a9",
package_extract_file("patch/system/app/Phone.apk.p")));
set_progress(0.123287);
assert(apply_patch("/system/app/Settings.apk", "-",
c9222620296e35183c5388328802d960b3788d77, 7677409,
"873c025a7b298df63e5be2abf20d9f05efdd7d6a",
package_extract_file("patch/system/app/Settings.apk.p")));
set_progress(0.136986);
assert(apply_patch("/system/bin/debuggerd", "-",
debd82cd5a4dc375a12d23111bd102827c5f9727, 22372,
"7e8bdd81b0203e64f41ea9f27439565516bd4bd4",
package_extract_file("patch/system/bin/debuggerd.p")));
set_progress(0.150684);
assert(apply_patch("/system/bin/loc_api_app", "-",
f778254c3c1af7b4270e311daf3faf05814edb9f, 40444,
"f8f1532d4bc300ff40fd923c5468f891af8ef656",
package_extract_file("patch/system/bin/loc_api_app.p")));
set_progress(0.164383);
assert(apply_patch("/system/bin/wpa_supplicant", "-",
4f9a4e68c8f73bdbca4e5c83544e4e7cdc0ba939, 537108,
"551ecd63f6fe5305ec184d725d9a355632200b26",
package_extract_file("patch/system/bin/wpa_supplicant.p")));
set_progress(0.178082);
assert(apply_patch("/system/build.prop", "-",
09513b26717348d9c50dfaa0b6d6babb11cb88ca, 11332,
"e4cdecfe76c7aee711e95f6a40698a4848dcc54c",
package_extract_file("patch/system/build.prop.p")));
set_progress(0.191780);
assert(apply_patch("/system/etc/security/otacerts.zip", "-",
164581b82e31bd0f41bbe3b507c52fe510d32f11, 1276,
"3516f7d92f534ac125902172eceddb977709626d",
package_extract_file("patch/system/etc/security/otacerts.zip.p")));
set_progress(0.205479);
assert(apply_patch("/system/filelist.lst", "-",
d08d32dcf6237143d39f67aac8e690f6e9b2fdeb, 18135,
"3d6613b028cfae0a98bdc2e63955ec709fb2eb65",
package_extract_file("patch/system/filelist.lst.p")));
set_progress(0.219178);
assert(apply_patch("/system/framework/am.jar", "-",
f1263ff23bb5ec0510119a517184fb78f3ec1bf1, 16571,
"1025ff0b3b5b8965ebfe6961c645465455e919a8",
package_extract_file("patch/system/framework/am.jar.p")));
set_progress(0.232876);
assert(apply_patch("/system/framework/android.test.runner.jar", "-",
6faf362dcfc9c1fb93dc5566fd2f768244b6e5a8, 71095,
"b6450eaf3bf3428b0374579e1662897c5c82e1c0",
package_extract_file("patch/system/framework/android.test.runner.jar.p")));
set_progress(0.246575);
assert(apply_patch("/system/framework/apache-xml.jar", "-",
48bf0a10a21ee1c5c8532a5cd772d96769cc6c1c, 549357,
"4e52f5c228e73e7c8fc985785ba7ee9591660ce6",
package_extract_file("patch/system/framework/apache-xml.jar.p")));
set_progress(0.260273);
assert(apply_patch("/system/framework/bmgr.jar", "-",
1a62cdc703bc1387af29b31c64c0bb30ffa0bf00, 6562,
"a1753cc3b53fb18c61cfea6d1ec328743c10f9a1",
package_extract_file("patch/system/framework/bmgr.jar.p")));
set_progress(0.273972);
assert(apply_patch("/system/framework/bouncycastle.jar", "-",
03d8328a330c507028a6ce89e87bd45b15aa36cf, 358231,
"15d0486c1a145920475db8c0e5fc00aaa3998a28",
package_extract_file("patch/system/framework/bouncycastle.jar.p")));
set_progress(0.287671);
assert(apply_patch("/system/framework/bu.jar", "-",
0e866d449928c8ae11700f0f8426857bb3581583, 2473,
"37a6e01b2a77225d242d20a2f5aa8e5214150323",
package_extract_file("patch/system/framework/bu.jar.p")));
set_progress(0.301369);
assert(apply_patch("/system/framework/com.android.future.usb.accessory.jar", "-",
be7c1c4b71985caa276221d59bc4a699043efb9a, 2781,
"867dab3e0b0be4bf7708ad0223ec555f7d4fadd6",
package_extract_file("patch/system/framework/com.android.future.usb.accessory.jar.p")));
set_progress(0.315068);
assert(apply_patch("/system/framework/com.android.location.provider.jar", "-",
7fd011fa52bf5a09fe427e7e34b5b5a538699979, 3216,
"6e21fa5f2bc39272654e372579eaf38957d5d6d1",
package_extract_file("patch/system/framework/com.android.location.provider.jar.p")));
set_progress(0.328767);
assert(apply_patch("/system/framework/com.qualcomm.location.vzw_library.jar", "-",
6d15016da11c948b775c12b1e8c2e9480d14cbfa, 18062,
"42308f1971546a3270088a510fd05098d6a081f6",
package_extract_file("patch/system/framework/com.qualcomm.location.vzw_library.jar.p")));
set_progress(0.342465);
assert(apply_patch("/system/framework/core.jar", "-",
9cc65f677e06de6c7dd3050edc981d51483a1085, 1275530,
"607451d1b904db64cfa4e66bd00295f313f3b5e7",
package_extract_file("patch/system/framework/core.jar.p")));
set_progress(0.356164);
assert(apply_patch("/system/framework/core-junit.jar", "-",
6afa03bac5c06be32564d0297ddca7f0132e40cd, 9981,
"6132170258a4354ad61b69314b02acc6922456e3",
package_extract_file("patch/system/framework/core-junit.jar.p")));
set_progress(0.369863);
assert(apply_patch("/system/framework/ext.jar", "-",
b8af09e0cedb6f83844bc438546a092c56f679b5, 991822,
"aefa2cb9d41cb871f29b2fdc20ff0ee3deadd8d8",
package_extract_file("patch/system/framework/ext.jar.p")));
set_progress(0.383561);
assert(apply_patch("/system/framework/filterfw.jar", "-",
63800a2d6947ba3a2955e34b5ca213f1fc0ba893, 117046,
"51fac7bc7bf00bd2fe1b00040923ec34e83ee7d0",
package_extract_file("patch/system/framework/filterfw.jar.p")));
set_progress(0.397260);
assert(apply_patch("/system/framework/framework.jar", "-",
2ce4d4c5615111b451c27f9c88caba547ea7c3ba, 3975873,
"f2d49fe2f6e6cd3a0290a0ad8b5926f0ed30f218",
package_extract_file("patch/system/framework/framework.jar.p")));
set_progress(0.410958);
assert(apply_patch("/system/framework/ime.jar", "-",
c11629a74c87ec38f7e7684a2326055eb9aa8ed7, 3318,
"5f6aa6881fd9fbb24bcb07224dc6ee69a41d29fc",
package_extract_file("patch/system/framework/ime.jar.p")));
set_progress(0.424657);
assert(apply_patch("/system/framework/input.jar", "-",
8f63c6dd829f3bc002e7146ac8b22ba0237ebb43, 2437,
"02da1603b48bfbbd540bb1d197479f40eecd6e4a",
package_extract_file("patch/system/framework/input.jar.p")));
set_progress(0.438356);
assert(apply_patch("/system/framework/javax.obex.jar", "-",
85b50999f15dcfa2edaa7712e452874da6a2c934, 25277,
"1cad78fbda66b902012661df22cf48a45694abc4",
package_extract_file("patch/system/framework/javax.obex.jar.p")));
set_progress(0.452054);
assert(apply_patch("/system/framework/monkey.jar", "-",
131aaf3bb5531a8ed8215a58651852ba8fdb9176, 46695,
"048ce68c1a48b1c3b6678e678711f43e00b6e58d",
package_extract_file("patch/system/framework/monkey.jar.p")));
set_progress(0.465753);
assert(apply_patch("/system/framework/pm.jar", "-",
12f9e06e88eda982c3fad843cf688c6b50c9a620, 13108,
"56bdc7ed8f275db657e10c38f3911d214b1def55",
package_extract_file("patch/system/framework/pm.jar.p")));
set_progress(0.479452);
assert(apply_patch("/system/framework/svc.jar", "-",
ef1822447604e77050cafedcd5cfab3554697369, 3783,
"edc3cb3c02d9ff042803445ccc263a49ddd75c9d",
package_extract_file("patch/system/framework/svc.jar.p")));
set_progress(0.493150);
assert(apply_patch("/system/lib/hw/sensors.default.so", "-",
3ece9581eefacece5461c66c005128144f52dd35, 23240,
"b8b9cf07d8b94a2602e8a24f379a84e20b54232a",
package_extract_file("patch/system/lib/hw/sensors.default.so.p")));
set_progress(0.506849);
assert(apply_patch("/system/lib/libbcc.so", "-",
bcb88c1455b162c967c4dc4dff53d4085133b76c, 4512772,
"d8123d891f29658506a84ade39213da093d0f126",
package_extract_file("patch/system/lib/libbcc.so.p")));
set_progress(0.520547);
assert(apply_patch("/system/lib/libbcc.so.sha1", "-",
cf915ec189f01b2a3b32ed7b27494133339b8aa4, 20,
"2494ccfe882affc2d806934a6361c53efd1b3ace",
package_extract_file("patch/system/lib/libbcc.so.sha1.p")));
set_progress(0.534246);
assert(apply_patch("/system/lib/libchromium_net.so", "-",
a02c04d98ef83b48a48e53f3bfa8ecd3158a78b0, 1828736,
"30d988f2869cec2cc17d142f0b021ffffa4f8763",
package_extract_file("patch/system/lib/libchromium_net.so.p")));
set_progress(0.547945);
assert(apply_patch("/system/lib/libstagefright.so", "-",
d8514a1b1d72f8e391258bce4a483ecd1e696b4e, 1362028,
"146e497677407dcd4c7c42392607125a138a5470",
package_extract_file("patch/system/lib/libstagefright.so.p")));
set_progress(0.561643);
assert(apply_patch("/system/lib/libwebrtc_audio_preprocessing.so", "-",
2edd1a116a49c3166c103d30000bf25febc0a698, 275748,
"5e20f65841b9473b82d9c41aa5ae3eb3789c04a1",
package_extract_file("patch/system/lib/libwebrtc_audio_preprocessing.so.p")));
set_progress(0.575342);
assert(apply_patch("/system/lib/modules/ansi_cprng.ko", "-",
8be719b13a0f843d225b33d16f528af7531e6ddd, 104697,
"b9118ca84f34566c85426408719c919fb287c0e4",
package_extract_file("patch/system/lib/modules/ansi_cprng.ko.p")));
set_progress(0.589041);
assert(apply_patch("/system/lib/modules/cls_flow.ko", "-",
a22cf3e7ffec12abe046b0fd9c5aac89267885c4, 214766,
"dc7ad6813d92a50c13a311fea24c0ed233ac1919",
package_extract_file("patch/system/lib/modules/cls_flow.ko.p")));
set_progress(0.602739);
assert(apply_patch("/system/lib/modules/cpaccess.ko", "-",
6fff665d27592ae4c08216583b5562d601ca7f55, 92410,
"a50d779238ba144ff7dd06b9b95a1eae5fc24d3d",
package_extract_file("patch/system/lib/modules/cpaccess.ko.p")));
set_progress(0.616438);
assert(apply_patch("/system/lib/modules/dal_remotetest.ko", "-",
79cd9cd2edaa80f4835920c57a90cd114231e52c, 81219,
"8f449afd55b9f74cca58763ab17044c5e11dc174",
package_extract_file("patch/system/lib/modules/dal_remotetest.ko.p")));
set_progress(0.630136);
assert(apply_patch("/system/lib/modules/dma_test.ko", "-",
4941d8e71792aa824fe85c8d8da92ac945c591aa, 105044,
"1be55f665754d042afd04a6bb28081e201ae9326",
package_extract_file("patch/system/lib/modules/dma_test.ko.p")));
set_progress(0.643835);
assert(apply_patch("/system/lib/modules/evbug.ko", "-",
8b269be05112770a08b63d5a979ae057dbfc397a, 75270,
"bec3b65095f0aa4eac96357f82f23a34531894f7",
package_extract_file("patch/system/lib/modules/evbug.ko.p")));
set_progress(0.657534);
assert(apply_patch("/system/lib/modules/gspca_main.ko", "-",
d591954af7ff5b9ba871ef271d2b6d74c1505d61, 206673,
"8951954433196b418e44fe3166339695383d6b43",
package_extract_file("patch/system/lib/modules/gspca_main.ko.p")));
set_progress(0.671232);
assert(apply_patch("/system/lib/modules/librasdioif.ko", "-",
c1cce921f566386d3911142b7755d04d1aa44e6f, 102723,
"5cb5990c2c23c989d6bf2015721c9acb261a2c70",
package_extract_file("patch/system/lib/modules/librasdioif.ko.p")));
set_progress(0.684931);
assert(apply_patch("/system/lib/modules/mtd_erasepart.ko", "-",
43610fc90b9fd4d844b14f1916b8a25de92a8624, 70541,
"e286fb9cfb1d1ab1097d0e49b2eff315720eed61",
package_extract_file("patch/system/lib/modules/mtd_erasepart.ko.p")));
set_progress(0.698630);
assert(apply_patch("/system/lib/modules/mtd_nandecctest.ko", "-",
60f7e5b8811cbc4f8f4777118107338c31919a85, 25918,
"3ee54874699b553a697f15ce2b96350b41591d61",
package_extract_file("patch/system/lib/modules/mtd_nandecctest.ko.p")));
set_progress(0.712328);
assert(apply_patch("/system/lib/modules/mtd_oobtest.ko", "-",
2219b649a09f036c22bbfe3bd6f05453540f2b35, 83586,
"94ad985011fe3a8af9fe7eded1dcb622dd2ed760",
package_extract_file("patch/system/lib/modules/mtd_oobtest.ko.p")));
set_progress(0.726027);
assert(apply_patch("/system/lib/modules/mtd_pagetest.ko", "-",
37af595b2543e5bef991af46b5b810af506782bd, 87237,
"10a51661bfd91ab9fb5d5345dc50134d6857e651",
package_extract_file("patch/system/lib/modules/mtd_pagetest.ko.p")));
set_progress(0.739726);
assert(apply_patch("/system/lib/modules/mtd_readtest.ko", "-",
719c719aa7090cf9d59351705392804c49a5cd8e, 74549,
"60d59b4d473920c9880ced156e7de37aa1c4be07",
package_extract_file("patch/system/lib/modules/mtd_readtest.ko.p")));
set_progress(0.753424);
assert(apply_patch("/system/lib/modules/mtd_speedtest.ko", "-",
ebabf4c38147ab3c157ac6c258ffee946b99acdb, 88304,
"8f833e255feb206adf0a22652ec53ce0e7c14e3b",
package_extract_file("patch/system/lib/modules/mtd_speedtest.ko.p")));
set_progress(0.767123);
assert(apply_patch("/system/lib/modules/mtd_stresstest.ko", "-",
d316f2878f2cdbf1bb886cf7415df4e7d2d82357, 80529,
"f14f400fb2c8d7b573a3a4bd5c8eaca39fc8f003",
package_extract_file("patch/system/lib/modules/mtd_stresstest.ko.p")));
set_progress(0.780821);
assert(apply_patch("/system/lib/modules/mtd_subpagetest.ko", "-",
29e351592114082850fcf65757223206ba8c402a, 84225,
"cb148dc3ec087d42bba2e58ab6766144b48d03df",
package_extract_file("patch/system/lib/modules/mtd_subpagetest.ko.p")));
set_progress(0.794520);
assert(apply_patch("/system/lib/modules/mtd_torturetest.ko", "-",
84956e0078734e182095d309c56a50b58e318b71, 91253,
"dd41fbff40a953d14917ce838f501c13b4dc5c72",
package_extract_file("patch/system/lib/modules/mtd_torturetest.ko.p")));
set_progress(0.808219);
assert(apply_patch("/system/lib/modules/qcedev.ko", "-",
69ef242afc3110a69a9bd93fa2447b5c5ea83f95, 161970,
"6cb8bf4d561ed8a7c4428a12521831ceba4b66b9",
package_extract_file("patch/system/lib/modules/qcedev.ko.p")));
set_progress(0.821917);
assert(apply_patch("/system/lib/modules/qce.ko", "-",
95fa8d3ea5ea22371206cb28f7c12a13f282fd18, 153490,
"54fba332546c45b875f492f1073c3c796aafd92e",
package_extract_file("patch/system/lib/modules/qce.ko.p")));
set_progress(0.835616);
assert(apply_patch("/system/lib/modules/qcrypto.ko", "-",
98efd1173319764aec761a4ee1ad6cac3c2d296d, 278328,
"2215d80dabaa980922719f1e234a02e4e38426ab",
package_extract_file("patch/system/lib/modules/qcrypto.ko.p")));
set_progress(0.849315);
assert(apply_patch("/system/lib/modules/reset_modem.ko", "-",
43b55f733041eb026eb86fd3f390c196d724d056, 70095,
"653720b7acfeccc5235053a6e414e86723fe0ef5",
package_extract_file("patch/system/lib/modules/reset_modem.ko.p")));
set_progress(0.863013);
assert(apply_patch("/system/lib/modules/sch_dsmark.ko", "-",
d208f5d7aa9320998ff02eabe9e3bf179a6a4c9f, 189922,
"adbbba943f17a5b66f4fd43b1413cb848157f8c8",
package_extract_file("patch/system/lib/modules/sch_dsmark.ko.p")));
set_progress(0.876712);
assert(apply_patch("/system/lib/modules/scsi_wait_scan.ko", "-",
8fd0829f1be37f272d6878293679b0fe70c8420a, 32468,
"f282e7d06acdd326e93851c8ae9af6a2377684de",
package_extract_file("patch/system/lib/modules/scsi_wait_scan.ko.p")));
set_progress(0.890410);
apply_patch("/fat/image/amss.mbn", "/fat/image/amss.mbn.bkup",
a0329c0d7d65387f8945ab62774b1cb4cecf39d0, 24608768,
"117f089da080ccb8c481a08e557e08cf54bcbc1f",
package_extract_file("patch/fat/image/amss.mbn.p"));
assert(apply_patch_check("/fat/image/amss.mbn.bkup", "a0329c0d7d65387f8945ab62774b1cb4cecf39d0", "a0329c0d7d65387f8945ab62774b1cb4cecf39d0")||
apply_patch_check("/fat/image/amss.mbn", "a0329c0d7d65387f8945ab62774b1cb4cecf39d0", "a0329c0d7d65387f8945ab62774b1cb4cecf39d0"));
set_progress(0.904109);
assert(apply_patch("/system/app/Cloud.apk", "-",
2c158b1ea8477d094245bb80e65abdef5550fefd, 229902,
"d5f1be3397fa3d40231d00e9fb8f2f10fbd59538",
package_extract_file("patch/system/app/Cloud.apk.p")));
set_progress(0.917808);
assert(apply_patch("/system/app/Mms.apk", "-",
65d8edaa7eccb55904a4ce38caed816533a9d61f, 1390982,
"81264cef8a3c402483a3e7e983c25e6bf06fb339",
package_extract_file("patch/system/app/Mms.apk.p")));
set_progress(0.931506);
assert(apply_patch("/system/app/ProjectMenuAct.apk", "-",
ed45bddca81e4bc4eb667f03443875365e6fd1dd, 93965,
"774844aae75e591e9edb22fdcfa5c40ba7b180a4",
package_extract_file("patch/system/app/ProjectMenuAct.apk.p")));
set_progress(0.945205);
assert(apply_patch("/system/bin/diag_mdlog", "-",
742e01e84571e7005944c7d24f45c50e1dfe887b, 6040,
"5c29110b213104906c39997e33a11927910fe855",
package_extract_file("patch/system/bin/diag_mdlog.p")));
set_progress(0.958904);
assert(apply_patch("/system/cdrom/autorun.iso", "-",
b6a23680be8496627837f8862902e0393fac190b, 8185856,
"5d64ca08167c5652a4402f5c1fd14956427b28bf",
package_extract_file("patch/system/cdrom/autorun.iso.p")));
set_progress(0.972602);
assert(apply_patch("/system/etc/apns-conf.xml", "-",
ccfd9ef742a770ae05d38f4792f47b51603c64b5, 195999,
"6d6409eed62a283b97c86a03df4b27a2764e8926",
package_extract_file("patch/system/etc/apns-conf.xml.p")));
set_progress(0.986301);
assert(apply_patch("/system/framework/android.policy.jar", "-",
6151178cfc9f0537e35c28cd40776a29f435ffdd, 121344,
"9dbdeb10476ae2ce4495fe34f65dc71ba0c08528",
package_extract_file("patch/system/framework/android.policy.jar.p")));
set_progress(1.000000);
assert(apply_patch("/system/framework/services.jar", "-",
a220240ff41d21d0433b4fc76c1c67e918d52955, 824809,
"3891380a430a1df7d687f9aac6bbc00d842ab565",
package_extract_file("patch/system/framework/services.jar.p")));
sync();
show_progress(0.050000, 0);
ui_print("Unpacking new files...");
package_extract_dir("system", "/system");
sync();
set_progress(0.300000);
package_extract_dir("fat", "/fat");
sync();
set_progress(0.900000);
set_perm(0, 0, 000644,"/fat/image/au_ota.cfg");
set_perm(0, 0, 000744,"/fat/image/UPDATE.APP");
set_perm(0, 0, 000644,"/system/app/Hispace.apk");
set_perm(0, 0, 000644,"/system/etc/Diag.cfg");
sync();
set_progress(1.000000);
package_extract_file("OTA.OK", "/fat/image/OTA.OK");
sync();
Скрипт в архиве. Архив подписан. Родное рековери проверит подпись и пошлет в пешее эротическое, если суммы не совпадут. А вот adb думаю по барабану. Главное законектится. =)