I installed a universal android head unit from amazon. It's not perfect but I like it a lot. I use waze for navigation, usgs topographic mapping tool for trails, and bluetooth audio. I don't use the default UI and instead set it up to use stock android. Install was tricky and the screen wobbles a little bit on trails, which is annoying. I hooked the backup camera to the reverse lights for power and ran the aux wire from the back all the way to the head unit. The backup camera works when I shift into reverse but I don't really like the license plate frame that came with it because it's thick and not a lot of threads are left holding it on.
The downside of this setup is that I have to manually select the backup camera on the head unit to show the camera view on the head unit, so I end up not using the camera unless I need it (crowded parking lots or tight trails.) Also, due to the license plate being off center the reverse guide lines aren't accurate.