I need to convert GPS coordinates to EPSG:54004 on android. Are there any libraries or formulas to acomplish the task? Thanks in advance.
It was in development when I last checked but the OGR functions of GDAL are a possibility. Install instructions on Android are quite complex and can be found here. Once you have it working you would then need to use the OGRCoordinateTransformation. This is going to be difficult to achieve.
May I suggest a differing approach that may be simpler. Using QGIS on Android may be a more out-of-the box solution. Please note mckennedy comment below on the reprojection information as it pertains to EPSG:54004 conversion.
One final thought, I would do neither of these but try to utilize and online transformation tool and just feed it the coordinates. Something like cs2cs or similar.
When you say GPS i am assuming you mean in a state plane or utm? I would suggest creating a php webpage using the proj4 library. You can create a php/js page that will allow the input of N,E points as a single point entered by the user or in a batch of points in csv format and it will output it the lat/long coordinates. I have a webpage that can be found at http://www.gislab.net/mapping/ , this takes any Texas State Plane coordinate point (in Northing Easting) and converts to WGS84 Lat/Lon, it works on a single point or a batch of many points. The program gives output as either a converted CSV or GPX file or it will map them in googlemaps or ESRI maps. I can give you the source code if you would like, but you will have to change some parameters, ie the source and destination CRS
Here is the web page for Proj4js - http://proj4js.org/