Do you actually need to write shapefiles? Or even read them?
There are plenty of utilities out there that convert shapefiles into more modern formats that are easier to read and write, so you could perform your conversion on a server and not on Android itself.
If you really need to read/write shapefiles, IIRC they are actually in a very old Microsoft DB4 format (or something like that), so if you find code that reads/writes that format it would also help you.
I personally think that spatialite files are much better for this as everything is in one single file (so no chance of losing the projection info any more, which is common with shapefiles).
Ludwig