のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

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の書き方