Its indeed quite possible that either the two directories residing on the filesystem,
/cache/download is probably full of temporary files and is not deleted which contributes to the symptoms of the app not installing after 100% downloaded.
Some ROMs do have this facility or feature in place, called
run-parts, which is invoked by the
busybox which does this clean up on boot to clear out the temporary downloaded files saved in the specified directories. Again, this is dependant on the ROM.
Maybe that's what you should try doing, reboot to force the system to clean up the directories and try again upon bootup?
If that fails, then it sounds likely that the
/cache partition is very small not to hold the downloaded files. The trick employed by ROMs is this, the
/cache/download is either sym-linked to
/data on the
/data partition. The other trick is that
/data/local/download is re-binded to the
/cache/download directory. (see this script below to see what the second trick is about)
# bind mount /data/local/download to /cache/download if cache
# partition is too small
CACHESIZE=$(df /cache | tail -n1 | tr -s ' ' | cut -d ' ' -f2 | tr -d [:alpha:])
if [ $DATAONLY -eq 1 ]
if [ $CACHESIZE -lt $NEEDED ]
/system/xbin/busybox mount -o bind /data/local/download /cache/download
rm /cache/download/downloadfile*.apk >/dev/null 2>&1
/data/local/download? it is found in the init.rc script in the ramdisk of the ROM in question which has the following environment variables that tells the Google Play store, where to save the downloaded apps.
export ANDROID_CACHE /cache
export DOWNLOAD_CACHE /cache/download
The only thing I would suggest is to use File Explorer (just as I type this I realised yeah, root... but I digress), and clean out the directory manually for a start.