Use the locale for the parser:
SimpleDateFormat formatter = new SimpleDateFormat(newPattern, Locale.US);
This should solve your problem. At least this works for me with your example.
EDIT:
, Android IST. Android, , IST.
- , IST.
Android:
String strDate = "Fri Oct 10 23:11:29 IST 2014";
strDate = strDate.replace(" IST ", " GMT+0530 ");
String newPattern = "EEE MMM dd HH:mm:ss Z yyyy";
SimpleDateFormat formatter = new SimpleDateFormat(newPattern, Locale.ENGLISH);