Android
script
OTA
edify

edifyスクリプトと言うマニアックなスクリプトを今更知る


先日某リローデッドなスマフォのアップデートファイルを丸ごと抜いてしまった

その中にはリアルパッチデータばかりで愕然とするも。

一筋の光が見えた。


edifyScript

https://source.android.com/devices/tech/ota/nonab/inside_packages#edify-syntax


以下は某では無いNexus6pの/fugu:7.1.2/N2G47H buildである。


updater-script

(!less_than_int(1488578848, getprop("ro.build.date.utc"))) || abort("E3003: Can't install this package (Fri Mar  3 22:07:28 UTC 2017) over newer build (" + getprop("ro.build.date") + ").");

getprop("ro.product.device") == "fugu" || abort("E3004: This package is for \"fugu\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Target: google/fugu/fugu:7.1.2/N2G47H/3783593:user/release-keys");
show_progress(0.750000, 0);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
abort("E1001: Failed to update system image.");
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/by-name/boot");
show_progress(0.200000, 10);
package_extract_file("ifwi.bin", "/tmp/ifwi.bin");
fugu.flash_ifwi("/tmp/ifwi.bin");
package_extract_file("droidboot.img", "/dev/block/by-name/fastboot");
package_extract_file("splashscreen.img", "/dev/block/by-name/splashscreen");
set_progress(1.000000);