Android has the USB drivers for our GPS Receivers built-in it's Linux kernel (PL2303), and if your device is running Honeycomb and above (Android 3.1 ~ Android 6.0+), it should work.
To use your USB GPS Receiver on Android, you'll need the GPSInfo app to make your Android device use the external GPS, instead of the internal GPS. You can download the GPSInfo app from here: https://play.google.com/store/apps/details?id=com.globalsat.android.gps.pl2303.provider&hl=en
If the GPSInfo doesn't detect the GPS, then please try using this app instead: https://www.dropbox.com/s/030r1yu5iqkss1b/UsbGPS4Honeycomb_MR1_alpha.apk?dl=0
Then you'll need to enable Mock Locations in the Developer Settings menu. Most devices have Developer Settings hidden, so you'll need to follow this video on how to show Developer Settings: https://www.youtube.com/watch?v=mp07dPusJNA
Then you just plug in the GPS, and you should get a pop up that the GPS was detected, then you click Start GPS and you're set.
Any app that uses GPS will now start using the external GPS for GPS data.
For Android Marshmallow please try using "You are here GPS" app leave it running in the background then open your navigation app.