mirror of
https://github.com/j-hc/revanced-magisk-module.git
synced 2025-04-29 22:24:34 +02:00
50 lines
1.2 KiB
Bash
Executable File
50 lines
1.2 KiB
Bash
Executable File
#!/system/bin/sh
|
|
# shellcheck disable=SC2086,SC1091
|
|
. $MODPATH/config
|
|
|
|
MODDIR=${0%/*}
|
|
RVPATH=$NVBASE/rvhc/${MODDIR##*/}.apk
|
|
|
|
until [ "$(getprop sys.boot_completed)" = 1 ]; do sleep 1; done
|
|
until [ -d "/sdcard/Android" ]; do sleep 1; done
|
|
while
|
|
BASEPATH=$(pm path $PKG_NAME)
|
|
svcl=$?
|
|
[ $svcl = 20 ]
|
|
do sleep 2; done
|
|
sleep 5
|
|
|
|
err() {
|
|
[ ! -f $MODDIR/err ] && cp $MODDIR/module.prop $MODDIR/err
|
|
sed -i "s/^des.*/description=⚠️ Needs reflash: '${1}'/g" $MODDIR/module.prop
|
|
}
|
|
|
|
if [ $svcl = 0 ]; then
|
|
BASEPATH=${BASEPATH##*:}
|
|
BASEPATH=${BASEPATH%/*}
|
|
if [ -d $BASEPATH/lib ]; then
|
|
VERSION=$(dumpsys package $PKG_NAME | grep -m1 versionName)
|
|
VERSION="${VERSION#*=}"
|
|
if [ "$VERSION" = $PKG_VER ] || [ -z "$VERSION" ]; then
|
|
grep $PKG_NAME /proc/mounts | while read -r line; do
|
|
mp=${line#* }
|
|
mp=${mp%% *}
|
|
umount -l ${mp%%\\*}
|
|
done
|
|
if chcon u:object_r:apk_data_file:s0 $RVPATH; then
|
|
mount -o bind $RVPATH $BASEPATH/base.apk
|
|
am force-stop $PKG_NAME
|
|
[ -f $MODDIR/err ] && mv -f $MODDIR/err $MODDIR/module.prop
|
|
else
|
|
err "mount failed"
|
|
fi
|
|
else
|
|
err "version mismatch (installed:${VERSION}, module:$PKG_VER)"
|
|
fi
|
|
else
|
|
err "zygote crashed"
|
|
fi
|
|
else
|
|
err "app not installed"
|
|
fi
|