mirror of
https://gitlab.com/W1nst0n/universal-android-debloater.git
synced 2024-05-20 06:52:20 +12:00
53 lines
1.4 KiB
Bash
53 lines
1.4 KiB
Bash
#!/sbin/sh
|
|
# Template made by @osm0sis xda-developers
|
|
# https://forum.xda-developers.com/t/dev-template-complete-shell-script-flashable-zip-replacement-signing-script.2934449/
|
|
|
|
OUTFD=/proc/self/fd/$2;
|
|
ZIPFILE="$3";
|
|
|
|
# ui_print "<message>" ["<message 2>" ...]
|
|
ui_print() {
|
|
while [ "$1" ]; do
|
|
echo -e "ui_print $1
|
|
ui_print" >> "$OUTFD";
|
|
shift;
|
|
done;
|
|
}
|
|
|
|
# unmount <partition>
|
|
unmount() { umount "$1"; }
|
|
|
|
# is_mounted <partition>
|
|
is_mounted() { test "$(mount | grep " $1 ")" && echo 1 || echo 0; }
|
|
|
|
# package_extract_dir <dir> <destination_dir>
|
|
package_extract_dir() {
|
|
local entry outfile;
|
|
for entry in $(unzip -l "$ZIPFILE" 2>/dev/null | tail -n+4 | grep -v '/$' | grep -o " $1.*$" | cut -c2-); do
|
|
outfile="$(echo "$entry" | sed "s|${1}|${2}|")";
|
|
mkdir -p "$(dirname "$outfile")";
|
|
unzip -o "$ZIPFILE" "$entry" -p > "$outfile";
|
|
done;
|
|
}
|
|
|
|
# delete <file> [<file2> ...]
|
|
delete() { rm -f "$@"; }
|
|
|
|
# set_perm <owner> <group> <mode> <file> [<file2> ...]
|
|
set_perm() {
|
|
local uid gid mod;
|
|
uid=$1; gid=$2; mod=$3;
|
|
shift 3;
|
|
chown "$uid":"$gid" "$@" || chown "$uid"."$gid" "$@";
|
|
chmod "$mod" "$@";
|
|
}
|
|
|
|
########################### MAIN SCRIPT ###########################
|
|
|
|
ui_print "----- Universal Android Debloater -----"
|
|
package_extract_dir "system" "/system"
|
|
set_perm 0 0 0777 "/system/root_debloat_script.sh"
|
|
sh root_debloat_script.sh
|
|
delete "/system/root_debloat_script.sh"
|
|
unmount "/system"
|
|
ui_print "----- DONE -----" |