module: update scripts

This commit is contained in:
j-hc 2023-01-29 01:01:28 +03:00
parent ff6ebb811a
commit e112b95a7a
4 changed files with 28 additions and 18 deletions

View File

@ -57,8 +57,9 @@ ui_print "* Setting Permissions"
set_perm $MODPATH/base.apk 1000 1000 644 u:object_r:apk_data_file:s0
ui_print "* Mounting __PKGNAME"
RVPATH=/data/adb/__PKGNAME_rv.apk
ln -f $MODPATH/base.apk $RVPATH
mkdir $NVBASE/rvhc 2>/dev/null
RVPATH=$NVBASE/rvhc/__PKGNAME_rv.apk
mv -f $MODPATH/base.apk $RVPATH
if ! op=$(su -Mc mount -o bind $RVPATH $BASEPATH 2>&1); then
ui_print "ERROR: Mount failed!"
@ -69,7 +70,7 @@ am force-stop __PKGNAME
ui_print "* Optimizing __PKGNAME"
cmd package compile --reset __PKGNAME &
rm -r $MODPATH/bin $MODPATH/__PKGNAME.apk
rm -rf $MODPATH/bin $MODPATH/__PKGNAME.apk $NVBASE/__PKGNAME_rv.apk
ui_print "* Done"
ui_print " by j-hc (github.com/j-hc)"

View File

@ -1,30 +1,36 @@
#!/system/bin/sh
# shellcheck disable=SC2086
MODDIR=${0%/*}
RVPATH=/data/adb/__PKGNAME_rv.apk
RVPATH=/data/adb/rvhc/__PKGNAME_rv.apk
until [ "$(getprop sys.boot_completed)" = 1 ]; do sleep 1; done
until [ -d /sdcard ]; do sleep 1; done
sleep 5
ln $MODDIR/base.apk $RVPATH
err() {
cp -n $MODDIR/module.prop $MODDIR/err
sed -i "s/^des.*/description=⚠️ Module is inactive: ${1}/g" $MODDIR/module.prop
}
BASEPATH=$(pm path __PKGNAME | grep base)
BASEPATH=${BASEPATH#*:}
if [ $BASEPATH ] && [ -d ${BASEPATH%base.apk}lib ]; then
VERSION=$(dumpsys package __PKGNAME | grep -m1 versionName)
if [ ${VERSION#*=} = __PKGVER ]; then
grep __PKGNAME /proc/self/mountinfo | while read -r line; do
mountpoint=$(echo "$line" | cut -d' ' -f5)
umount -l "${mountpoint%%\\*}"
grep __PKGNAME /proc/mounts | while read -r line; do
mp=${line#* }
mp=${mp%% *}
umount -l ${mp%%\\*}
done
chcon u:object_r:apk_data_file:s0 $RVPATH
su -Mc mount -o bind $RVPATH $BASEPATH
am force-stop __PKGNAME
mv -f $MODDIR/err $MODDIR/module.prop 2>/dev/null
if chcon u:object_r:apk_data_file:s0 $RVPATH; then
mount -o bind $RVPATH $BASEPATH
am force-stop __PKGNAME
mv -f $MODDIR/err $MODDIR/module.prop 2>/dev/null
else
err "APK was not found"
fi
else
cp -n $MODDIR/module.prop $MODDIR/err
sed -i "s/^des.*/description=⚠️ Module is inactive: Version mismatch (${VERSION#*=})/g" $MODDIR/module.prop
err "Version mismatch (${VERSION#*=})"
fi
else
cp -n $MODDIR/module.prop $MODDIR/err
sed -i "s/^des.*/description=⚠️ Module is inactive: Invalid installation/g" $MODDIR/module.prop
err "Invalid installation"
fi

View File

@ -1,2 +1,5 @@
#!/system/bin/sh
rm /data/adb/__PKGNAME_rv.apk
{
rm /data/adb/rvhc/__PKGNAME_rv.apk
rmdir /data/adb/rvhc
} &

View File

@ -208,6 +208,7 @@ patch_apk() {
}
zip_module() {
pr "Packing module ($app_name)"
local patched_apk=$1 module_name=$2 stock_apk=$3 pkg_name=$4 template_dir=$5
cp -f "$patched_apk" "${template_dir}/base.apk"
cp -f "$stock_apk" "${template_dir}/${pkg_name}.apk"
@ -355,7 +356,6 @@ build_rv() {
"$base_template"
local module_output="${app_name_l}-${RV_BRAND_F}-magisk-v${version}-${arch}.zip"
pr "Packing module ($app_name)"
if [ ! -f "$module_output" ] || [ "$REBUILD" = true ]; then
zip_module "$patched_apk" "$module_output" "$stock_apk" "$pkg_name" "$base_template"
fi