First, there's really no way to emulate modern Windows PC's on Android, and there is a long list of reasons for that. So to be honest, you're simply not going to be able to run Windows software on an Android phone.
That said, OpenCPN can actually be run on android. And googling shows that there are some "easier" guides for making it happen. Many Android ...
As a test confirmed, this is possible via corresponding apps:
on the device providing the GPS signal ("B"), you will need an app to Use your Droid as BT-GPS Mouse. An approved candidate would be Bluetooth GPS Output for this.
on the device where you want to access that "external GPS" from ("A"), you'll need an app to Use an external GPS mouse. Approved ...
I don't know if you can do this with your PC. Likely the easiest way would be to hack up a custom script on your PC to respond to new positions coming from gpsd, and use the following command to mock those locations on the phone:
adb shell setLatLon latitude longitude
You need to have previously turned on USB debugging and mock locations in the phone's ...
OpenCPN states future Android suppport, possible as soon as they've migrated their graphics engine to OpenGL.
It's probably the easiest path to still run OpenCPN on a Windows based laptop and just use a remote viewer app like
to your Android tablet/phone/etc. until a native Android way is available.
I believe Bluetooth is the only way to do this.
In order to be able to do this via USB the device would need to support USB-OTG (basically be capable of acting as a USB host); given that you are excluding Bluetooth, I doubt there would be a device with USB-OTG but without Bluetooth. You'd obviously need a GPS capable of sending data over USB, as well.