You need root, because serial communication in android (and other Linux systems) always passes /dev/ttys..
And permissions for /dev/ttys.. are usually set to rw only for root .
Some Android roles may have access to devices, but this is usually not the case.
But , if you can send raw data via bluetooth (java), you need to change the source code of ymodem, which returns a data packet. Send the returned data packet and you are on a good path.
EDIT
There are several ways to send raw packets:
http://www.intorobotics.com/how-to-develop-simple-bluetooth-android-application-to-control-a-robot-remote/
source share