updater-script
gapps-L-3-17-15.zipのupdater-script
ui_print("Minimal GApps by BaNkS"); show_progress(1, 15); ui_print("Unmounting system if already mounted"); run_program("/sbin/busybox", "umount", "/system"); ui_print("Mounting system"); run_program("/sbin/busybox", "mount", "/system"); show_progress(1, 15); ui_print("Removing file conflicts and cleaning up"); delete_recursive("/system/app/BrowserProviderProxy", "/system/app/PartnerBookmarksProvider", "/system/app/Provision", "/system/app/QuickSearchBox", "/system/app/Vending"); delete( "/system/app/BrowserProviderProxy.apk", "/system/app/PartnerBookmarksProvider.apk", "/system/app/Provision.apk", "/system/app/QuickSearchBox.apk", "/system/app/Vending.apk"); delete_recursive("/system/priv-app/BrowserProviderProxy", "/system/priv-app/PartnerBookmarksProvider", "/system/priv-app/Provision", "/system/priv-app/QuickSearchBox", "/system/priv-app/Vending"); delete( "/system/priv-app/BrowserProviderProxy.apk", "/system/priv-app/PartnerBookmarksProvider.apk", "/system/priv-app/Provision.apk", "/system/priv-app/QuickSearchBox.apk", "/system/priv-app/Vending.apk"); show_progress(1, 15); ui_print("Copying files"); package_extract_dir("system", "/system"); show_progress(1, 15); ui_print("Cleaning up and setting metadata"); set_metadata_recursive("/system/addon.d", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); set_metadata_recursive("/system/app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); set_metadata_recursive("/system/etc/permissions", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); set_metadata_recursive("/system/etc/preferred-apps", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); set_metadata_recursive("/system/framework", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); set_metadata_recursive("/system/lib", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); set_metadata_recursive("/system/priv-app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); set_metadata_recursive("/system/usr/srec/en-US", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); set_metadata_recursive("/system/vendor/pittpatt", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0"); ui_print("Unmounting system"); run_program("/sbin/busybox", "umount", "/system"); ui_print("Installation complete");
show_progress(portion, sec)
プログレスバーを表示する (後述)。
自分専用update.zipの作り方、updater-scriptの書き方