ui_print("--------------------------------------");
ui_print("Mounting system");
ifelse(is_mounted("/system"), unmount("/system"));
run_program("/sbin/mount", "/system");
ui_print("Mounting data");
ifelse(is_mounted("/data"), unmount("/data"));
run_program("/sbin/mount", "/data");
ui_print("Detected Android version: " + getprop("ro.build.version.release"));
ui_print("Detected arch: " + getprop("ro.product.cpu.abilist") + " " + getprop("ro.product.cpu.abi"));
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if run_program("/sbin/test", "-d", "/system/priv-app/PlayStore") == 0 then
ui_print("Recursively deleting existing folder /system/priv-app/PlayStore") && delete_recursive("/system/priv-app/PlayStore");
else
if run_program("/sbin/test", "-f", "/system/priv-app/PlayStore") == 0 then
ui_print("Deleting existing file /system/priv-app/PlayStore") && delete("/system/priv-app/PlayStore");
endif;
endif;
if run_program("/sbin/test", "-d", "/system/priv-app/FakeStore") == 0 then
ui_print("Recursively deleting existing folder /system/priv-app/FakeStore") && delete_recursive("/system/priv-app/FakeStore");
else
if run_program("/sbin/test", "-f", "/system/priv-app/FakeStore") == 0 then
ui_print("Deleting existing file /system/priv-app/FakeStore") && delete("/system/priv-app/FakeStore");
endif;
endif;
if run_program("/sbin/test", "-d", "/system/priv-app/Phonesky") == 0 then
ui_print("Recursively deleting existing folder /system/priv-app/Phonesky") && delete_recursive("/system/priv-app/Phonesky");
else
if run_program("/sbin/test", "-f", "/system/priv-app/Phonesky") == 0 then
ui_print("Deleting existing file /system/priv-app/Phonesky") && delete("/system/priv-app/Phonesky");
endif;
endif;
if run_program("/sbin/test", "-d", "/system/priv-app/YalpStore") == 0 then
ui_print("Recursively deleting existing folder /system/priv-app/YalpStore") && delete_recursive("/system/priv-app/YalpStore");
else
if run_program("/sbin/test", "-f", "/system/priv-app/YalpStore") == 0 then
ui_print("Deleting existing file /system/priv-app/YalpStore") && delete("/system/priv-app/YalpStore");
endif;
endif;
if run_program("/sbin/test", "-d", "/data/data/com.android.vending") == 0 then
ui_print("Recursively deleting existing folder /data/data/com.android.vending") && delete_recursive("/data/data/com.android.vending");
else
if run_program("/sbin/test", "-f", "/data/data/com.android.vending") == 0 then
ui_print("Deleting existing file /data/data/com.android.vending") && delete("/data/data/com.android.vending");
endif;
endif;
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/Phonesky.apk");
assert(package_extract_file("files/com.android.vending-5.0.apk", "/system/priv-app/Phonesky/Phonesky.apk") == "t");
assert(set_metadata("/system/priv-app/Phonesky/Phonesky.apk", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
assert(run_program("/sbin/mkdir", "-p", "/system/etc/org.fdroid.fdroid") == 0);
assert(set_metadata_recursive("/system/etc/org.fdroid.fdroid", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/etc/org.fdroid.fdroid/additional_repos.xml");
assert(package_extract_file("files/additional_repos.xml.5.0.5.0", "/system/etc/org.fdroid.fdroid/additional_repos.xml") == "t");
assert(set_metadata("/system/etc/org.fdroid.fdroid/additional_repos.xml", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libempty_armeabi.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libempty_armeabi.so", "/system/priv-app/Phonesky/lib/arm/libempty_armeabi.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libempty_armeabi.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libempty_armeabi.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libempty_armeabi.so", "/system/priv-app/Phonesky/lib/arm/libempty_armeabi.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libempty_armeabi.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("x86", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/x86") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/x86", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/x86/libempty_x86.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/x86/libempty_x86.so", "/system/priv-app/Phonesky/lib/x86/libempty_x86.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/x86/libempty_x86.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("x86_64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/x86_64") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/x86_64", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/x86_64/libempty_x86_64.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/x86_64/libempty_x86_64.so", "/system/priv-app/Phonesky/lib/x86_64/libempty_x86_64.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/x86_64/libempty_x86_64.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libbrotli.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libbrotli.so", "/system/priv-app/Phonesky/lib/arm/libbrotli.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libbrotli.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libbrotli.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libbrotli.so", "/system/priv-app/Phonesky/lib/arm/libbrotli.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libbrotli.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libcronet.74.0.3702.2.so", "/system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libcronet.74.0.3702.2.so", "/system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libcronet.74.0.3702.2.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libtensorflowlite_jni.so", "/system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
if is_substring("arm64", getprop("ro.product.cpu.abilist") + getprop("ro.product.cpu.abi")) then
assert(run_program("/sbin/mkdir", "-p", "/system/priv-app/Phonesky/lib/arm") == 0);
assert(set_metadata_recursive("/system/priv-app/Phonesky/lib/arm", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so");
assert(package_extract_file("files/com.android.vending-lib/5.0/arm/libtensorflowlite_jni.so", "/system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so") == "t");
assert(set_metadata("/system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
assert(run_program("/sbin/mkdir", "-p", "/system/etc/default-permissions") == 0);
assert(set_metadata_recursive("/system/etc/default-permissions", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/etc/default-permissions/playstore-patched-permissions.xml");
assert(package_extract_file("files/permissions.xml", "/system/etc/default-permissions/playstore-patched-permissions.xml") == "t");
assert(set_metadata("/system/etc/default-permissions/playstore-patched-permissions.xml", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
assert(run_program("/sbin/mkdir", "-p", "/system/etc/sysconfig") == 0);
assert(set_metadata_recursive("/system/etc/sysconfig", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/etc/sysconfig/playstore-patched.xml");
assert(package_extract_file("files/sysconfig.xml", "/system/etc/sysconfig/playstore-patched.xml") == "t");
assert(set_metadata("/system/etc/sysconfig/playstore-patched.xml", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
if is_substring("5.0", getprop("ro.build.version.release")) || is_substring("5.1", getprop("ro.build.version.release")) || is_substring("6.0", getprop("ro.build.version.release")) || is_substring("7.0", getprop("ro.build.version.release")) || is_substring("7.1", getprop("ro.build.version.release")) || is_substring("8.0", getprop("ro.build.version.release")) || is_substring("8.1", getprop("ro.build.version.release")) || is_substring("9.0", getprop("ro.build.version.release")) then
assert(run_program("/sbin/mkdir", "-p", "/system/addon.d") == 0);
assert(set_metadata_recursive("/system/addon.d", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755) == "");
ui_print("Extracting /system/addon.d/05-playstore-patched.sh");
assert(package_extract_file("files/addond-5.0.sh", "/system/addon.d/05-playstore-patched.sh") == "t");
assert(set_metadata("/system/addon.d/05-playstore-patched.sh", "uid", 0, "gid", 0, "mode", 0644) == "");
endif;
ui_print("Unmounting /system");
ui_print("Done!");
ui_print("--------------------------------------");
unmount("/system");