forked from topjohnwu/Magisk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupdate_binary.sh
More file actions
27 lines (24 loc) · 791 Bytes
/
update_binary.sh
File metadata and controls
27 lines (24 loc) · 791 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/sbin/sh
TMPDIR=/dev/tmp
rm -rf $TMPDIR
mkdir -p $TMPDIR 2>/dev/null
export BBBIN=$TMPDIR/busybox
for arch in "x86_64" "x86" "arm64-v8a" "armeabi-v7a"; do
unzip -o "$3" "lib/$arch/libbusybox.so" -d $TMPDIR >&2
libpath="$TMPDIR/lib/$arch/libbusybox.so"
chmod 755 $libpath
if [ -x $libpath ] && $libpath >/dev/null 2>&1; then
mv -f $libpath $BBBIN
break
fi
done
$BBBIN rm -rf $TMPDIR/lib
export INSTALLER=$TMPDIR/install
$BBBIN mkdir -p $INSTALLER
$BBBIN unzip -o "$3" "assets/*" "lib/*" "META-INF/com/google/*" -x "lib/*/libbusybox.so" -d $INSTALLER >&2
export ASH_STANDALONE=1
if echo "$3" | $BBBIN grep -q "uninstall"; then
exec $BBBIN sh "$INSTALLER/assets/uninstaller.sh" "$@"
else
exec $BBBIN sh "$INSTALLER/META-INF/com/google/android/updater-script" "$@"
fi