[Android Apps and Games] stormy1777:
I'm not a developer nor speak on his behalf, doing anything of this nature can make the device non-usable or drain battery. Please don't expect any "support", it's as-is, probably there is a more correct way of doing it, that's the only way I could figure it to work until such time that app is properly tested/adjusted for Pie/Android 9. In my case it also impacted Folder Mount which did not work until these changes where made.

the mount-script is re-written by the app on various actions, so any fix you implement will be lost. The hack is to add another startup script:

:/data/adb/post-fs-data.d # ls -l
total 16
-rwxr-xr-x 1 root root 81 2019-10-22 21:36 00000000000apps2sd.sh
-rwxr-xr-x 1 root root 77 2019-10-28 08:23 00000000apps2sd.sh

notice there are MORE zeros, so it will sort out EARLIER, the contents are:

:/data/adb/post-fs-data.d # cat 00000000000apps2sd.sh
#!/system/bin/sh
/data/adb/apps2sd-mount "/data/adb/00000000apps2sd-newdebug.sh"

I'm sorry, it is not possible or responsible in my view to attach the entire mount-script, since it is high-customized, i.e. each phone/user will have different values there, for SD name, partition numbers, etc. so you'd have to explain a lot what to change. Instead here are the highlights of the changes from the ORIGINAL script, make adjustments to YOUR script, work with ssh on the phone and be sure ssh auto-starts on reboot during this time in case things get out of hand, u can go in and fix it via SSH, the phone may NOT respond to anything as it's stuck in early boot or spinning :)

top of new script:

#!/system/bin/sh
count=0
-LOG=/data/apps2sd-log/apps2sd-mount-script.log
+LOG=/data/apps2sd-log/apps2sd-mount-script-newdebug.log
rm $LOG
rm -f $LOG
+truncate -s 0 /data/adb/00000000apps2sd-main.sh
echo "$(date) Starting..." > $LOG

so, use a different LOGFILE, and add TRUNCATE the original/main mount script written by the app :) :) that way no TWO scripts run in parallel, that is really BAD.

next change block device to one HIGHER, in my case 67 (instead of 66):

then
break
else
- if mount -t f2fs -o noatime,rw /dev/block/vold/179:66 /data/sdext2
+ if mount -t f2fs -o noatime,rw /dev/block/vold/179:67 /data/sdext2
then
break

in another location below:

mount -t f2fs -o noatime,rw /dev/block/mmcblk1p3 /data/sdext2 1>>$LOG 2>>$LOG
- mount -t f2fs -o noatime,rw /dev/block/vold/179:66 /data/sdext2 1>>$LOG 2>>$LOG
+ mount -t f2fs -o noatime,rw /dev/block/vold/179:67 /data/sdext2 1>>$LOG 2>>$LOG
chmod 775 /data/dalvik-cache
chmod 775 /data/dalvik-cache/arm

Finally, the LAST if/else/then is rewritten to a) remove the 'else' completely, and always do the mount, in addition adding a check if the SOURCE folder "WhatsApp" appears as TEXT (and not encrypted hex) you only need one such loop regardless of how many folders are mounted:

if ! ls "/dev/block/vold/public:179,65" 1> /dev/null 2>&1;
then
echo "/dev/block/vold/public:179,65 not found" 1>>$LOG 2>>$LOG
#else
while ! mountpoint -q "/mnt/media_rw/8587-1CE3"
do
count=`expr $count + 1`
if test $count -ge 2200
then
break
else
sleep 0.1
fi
done

while ! [ -d "/mnt/runtime/default/emulated/0/WhatsApp" ]
do
count=`expr $count + 1`
if test $count -ge 3000
then
break
else
sleep 0.1
fi
done
fi

right below this go the mounted folders, in my case it has, have not changed that section at all:

if ! mountpoint -q "/mnt/runtime/default/emulated/0/WhatsApp"
then
/data/adb/apps2sd sdcardfsm "/mnt/media_rw/8587-1CE3/WhatsApp" "/mnt/runtime/default/emulated/0/WhatsApp" 1>> $LOG 2>> $LOG
fi

you might want to do:

restorecon -R /data/adb

to make sure selinux context is right, then reboot, and look in the logfile for hints.. you can add debug to >> $LOG and see what's going on..

It took me several good hours, but above are all that was needed, with continued support, the developer will fix it correctly at one point..

good luck.. I'll be offline/traveling so cannot answer anything, but above has all the changes.. of course adjust your path/names / sd dev name, etc.

Stormy.