In order to deal with custom Serializers / Deserializers rendered into a separate project, it produces the following error:
ERROR / AndroidRuntime (288): java.lang.RuntimeException: Unable to start activity ComponentInfo {com.example / com.example.MyActivity}: java.lang.UnsupportedOperationException: Can not create a generator

Program files:
MyActivity.java
package com.example; import android.app.Activity; import android.os.Bundle; import com.example.JacksonObject; import org.codehaus.jackson.map.*; import org.codehaus.jackson.JsonGenerationException; import java.io.IOException; public class MyActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String jacksonString = "{\"DateField\":\"/Date(61283424600000)/\",\"StringField\":\"STRING_string\",\"DoubleField\":\"87.12345\",\"IntegerField\":\"387\"}"; try { MyJsonWrapper sss = new MyJsonWrapper(); JacksonObject[] mailItems2 = sss.getMyJson().readValue(jacksonString, JacksonObject[].class); int a2 = 3; //это просто так, что бы поставить точки!!! int b = a2; //это просто так, что бы поставить точки!!! } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } int a = 3; //это просто так, что бы поставить точки!!! int s = 10; //это просто так, что бы поставить точки!!! s = s + a; //это просто так, что бы поставить точки!!! } } JacksonObject.java
package com.example; import java.util.Date; public class JacksonObject { public Date DateField; public String StringField; public Double DoubleField; public int IntegerField; } MyJsonWrapper.java
package com.example; import org.codehaus.jackson.JsonParser; import org.codehaus.jackson.Version; import org.codehaus.jackson.map.*; import org.codehaus.jackson.map.module.SimpleModule; import org.codehaus.jackson.map.JsonDeserializer; import org.codehaus.jackson.map.JsonSerializer; import org.codehaus.jackson.smile.*; import org.codehaus.jackson.*; import org.codehaus.jackson.map.ser.*; import org.codehaus.jackson.map.ser.std.NullSerializer; import org.codehaus.jackson.map.deser.*; import java.io.IOException; import java.lang.reflect.Type; import java.util.Date; public class MyJsonWrapper { public ObjectMapper getMyJson() { ObjectMapper mapper = new ObjectMapper(new SmileFactory()); SimpleModule module = new SimpleModule("MyModule", new Version(1, 0, 0, null)); module.addSerializer(Date.class, new JsonDateSerializer()); module.addDeserializer(Date.class, new JsonDateDeserializer()); mapper.registerModule(module); return mapper; } public class JsonDateDeserializer extends JsonDeserializer<Date> { public Date deserialize(JsonParser jp, DeserializationContext context) throws IOException, JsonProcessingException { try { String s = jp.getText().replace("/Date(", "").replace(")/", ""); if (s.equals("")) return null; boolean isDateBefore1970 = false; ............................................ if (isDateBefore1970) return new Date(-Long.valueOf(s) - offset * 60 * 1000); else return new Date(Long.valueOf(s) + offset * 60 * 1000); }catch (JsonMappingException e){ // If a JSON Mapping occurs, simply returning null instead of blocking things return null; } } } public class JsonDateSerializer extends JsonSerializer<Date> { public void serialize(Date date, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeString("/Date(" + date.getTime() + ")/"); } } } and if in MyJsonWrapper.java use static instead of public
public class MyJsonWrapper { public static ObjectMapper getMyJson() { ObjectMapper mapper = new ObjectMapper(new SmileFactory()); SimpleModule module = new SimpleModule("MyModule", new Version(1, 0, 0, null)); module.addSerializer(Date.class, new JsonDateSerializer()); module.addDeserializer(Date.class, new JsonDateDeserializer()); mapper.registerModule(module); return mapper; } static class JsonDateDeserializer extends JsonDeserializer<Date> { public Date deserialize(JsonParser jp, DeserializationContext context) throws IOException, JsonProcessingException { try { it gives this error
ERROR / AndroidRuntime (314): java.lang.RuntimeException: Unable to start activity ComponentInfo {com.example / com.example.MyActivity}: java.lang.UnsupportedOperationException: Can not create generator for ......

Here is this line
JacksonObject [] mailItems2 = sss.getMyJson (). ReadValue (jacksonString, JacksonObject []. Class);