"Invalid download uri" is a bad ass error that is the biggest flaw (IMHO) You can encounter. Solutions are (as far as I can tell):
- cache clear
- factory reset
But for those, who did this and still have the same problem (or don't wanna try the factory reset) there might be some hope. (I was searching for solutions and found none like this, so I hope I don't duplicate someone's ideas)
I was fighting with this for a longer time and I guess I finally managed to fix it. I tried to clear cache, Google Store and Services, I even removed and reinstalled Google Play. But as logcat said, there was still problem with access to the file that was downloaded (something about JaveException:FileAccessInvalid - or something similar).
So, to make the long story short:
- connect phone
- adb shell
- cd /data/data/com.android.providers.downloads
- ls -al
There should be 4 directories:
- one of them (install) is a link (not visible in CM File Manager, but visible in shell)
- app_sslcache, cache, databases
Those three should have similar attributes (drwxrwx--x), in my case, cache had ony drwx--x--x.
So an easy fix: chmod 771 cache (You should be root) and voila, everything works (You don't need reboot or to stop google play or anything) and no more "invalid download uri".
Please, if You have this problem try this fix and if it works for You, let others know (maybe even in the comment section below)...
PS: It's not dangerous, but anyway... You do this at Your own risk.