diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index d5b46f9..c4cbc45 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -91,8 +91,14 @@
     iter = parsed_options.find("option_type");
     use_option_type_ = (iter != parsed_options.end());
 
-    iter = parsed_options.find("undated_generated_annotations");
-    undated_generated_annotations_ = (iter != parsed_options.end());
+    iter = parsed_options.find("generated_annotations");
+    if (iter != parsed_options.end()) {
+      undated_generated_annotations_  = (iter->second.compare("undated") == 0);
+      suppress_generated_annotations_ = (iter->second.compare("suppress") == 0);
+    } else {
+      undated_generated_annotations_  = false;
+      suppress_generated_annotations_ = false;
+    }
 
     out_dir_base_ = (bean_style_ ? "gen-javabean" : "gen-java");
   }
@@ -347,6 +353,8 @@
   bool reuse_objects_;
   bool use_option_type_;
   bool undated_generated_annotations_;
+  bool suppress_generated_annotations_;
+  
 };
 
 /**
@@ -396,6 +404,8 @@
 string t_java_generator::java_type_imports() {
   string hash_builder;
   string tree_set_and_map;
+  string annotation_generated;
+
   string option;
   if (sorted_containers_) {
     tree_set_and_map = string() + "import java.util.TreeSet;\n" + "import java.util.TreeMap;\n";
@@ -405,6 +415,11 @@
     option = string() + "import org.apache.thrift.Option;\n";
   }
 
+  // android does not support @Generated Annotation
+  if (!suppress_generated_annotations_) {
+    annotation_generated = string() + "import javax.annotation.Generated;\n";
+  }
+
   return string() + hash_builder + "import org.apache.thrift.scheme.IScheme;\n"
          + "import org.apache.thrift.scheme.SchemeFactory;\n"
          + "import org.apache.thrift.scheme.StandardScheme;\n\n"
@@ -421,7 +436,7 @@
          + "import java.util.HashSet;\n" + "import java.util.EnumSet;\n" + tree_set_and_map
          + "import java.util.Collections;\n" + "import java.util.BitSet;\n"
          + "import java.nio.ByteBuffer;\n"
-           "import java.util.Arrays;\n" + "import javax.annotation.Generated;\n"
+         + "import java.util.Arrays;\n" + annotation_generated
          + "import org.slf4j.Logger;\n" + "import org.slf4j.LoggerFactory;\n\n";
 }
 
@@ -1333,7 +1348,7 @@
 
   bool is_final = (tstruct->annotations_.find("final") != tstruct->annotations_.end());
 
-  if (!in_class) {
+  if (!in_class && !suppress_generated_annotations_) {
     generate_javax_generated_annotation(out);
   }
 
@@ -2635,7 +2650,9 @@
 
   f_service_ << autogen_comment() << java_package() << java_type_imports() << java_suppressions();
 
-  generate_javax_generated_annotation(f_service_);
+  if (!suppress_generated_annotations_) {
+    generate_javax_generated_annotation(f_service_);
+  }
   f_service_ << "public class " << service_name_ << " {" << endl << endl;
   indent_up();
 
@@ -5124,5 +5141,6 @@
     "    sorted_containers:\n"
     "                     Use TreeSet/TreeMap instead of HashSet/HashMap as a implementation of "
     "set/map.\n"
-    "    undated_generated_annotations:\n"
-    "                     Do not generate the date for the @Generated annotation")
+    "    generated_annotations=[undated|suppress]:\n"
+    "                     undated: suppress the date at @Generated annotations\n"
+    "                     suppress: suppress @Generated annotations entirely\n")
