1-dontnote 2-microedition 3-mergeinterfacesaggressively 4-overloadaggressively 5-repackageclasses '' 6-allowaccessmodification 7 8# Keep all extensions of javax.microedition.midlet.MIDlet. 9-keep public class * extends javax.microedition.midlet.MIDlet 10 11# Keep all native class/method names. 12-keepclasseswithmembernames class * { 13 native <methods>; 14} 15 16# Remove all invocations of System methods without side effects 17# whose return values are not used. 18-assumenosideeffects public class java.lang.System { 19 public static native long currentTimeMillis(); 20 static java.lang.Class getCallerClass(); 21 public static native int identityHashCode(java.lang.Object); 22 public static java.lang.SecurityManager getSecurityManager(); 23 public static java.util.Properties getProperties(); 24 public static java.lang.String getProperty(java.lang.String); 25 public static java.lang.String getenv(java.lang.String); 26 public static native java.lang.String mapLibraryName(java.lang.String); 27 public static java.lang.String getProperty(java.lang.String,java.lang.String); 28} 29 30# Remove all invocations of String methods without side effects 31# whose return values are not used. 32-assumenosideeffects public class java.lang.String { 33 public java.lang.String(); 34 public java.lang.String(byte[]); 35 public java.lang.String(byte[],int); 36 public java.lang.String(byte[],int,int); 37 public java.lang.String(byte[],int,int,int); 38 public java.lang.String(byte[],int,int,java.lang.String); 39 public java.lang.String(byte[],java.lang.String); 40 public java.lang.String(char[]); 41 public java.lang.String(char[],int,int); 42 public java.lang.String(java.lang.String); 43 public java.lang.String(java.lang.StringBuffer); 44 public static java.lang.String copyValueOf(char[]); 45 public static java.lang.String copyValueOf(char[],int,int); 46 public static java.lang.String valueOf(boolean); 47 public static java.lang.String valueOf(char); 48 public static java.lang.String valueOf(char[]); 49 public static java.lang.String valueOf(char[],int,int); 50 public static java.lang.String valueOf(double); 51 public static java.lang.String valueOf(float); 52 public static java.lang.String valueOf(int); 53 public static java.lang.String valueOf(java.lang.Object); 54 public static java.lang.String valueOf(long); 55 public boolean contentEquals(java.lang.StringBuffer); 56 public boolean endsWith(java.lang.String); 57 public boolean equalsIgnoreCase(java.lang.String); 58 public boolean equals(java.lang.Object); 59 public boolean matches(java.lang.String); 60 public boolean regionMatches(boolean,int,java.lang.String,int,int); 61 public boolean regionMatches(int,java.lang.String,int,int); 62 public boolean startsWith(java.lang.String); 63 public boolean startsWith(java.lang.String,int); 64 public byte[] getBytes(); 65 public byte[] getBytes(java.lang.String); 66 public char charAt(int); 67 public char[] toCharArray(); 68 public int compareToIgnoreCase(java.lang.String); 69 public int compareTo(java.lang.Object); 70 public int compareTo(java.lang.String); 71 public int hashCode(); 72 public int indexOf(int); 73 public int indexOf(int,int); 74 public int indexOf(java.lang.String); 75 public int indexOf(java.lang.String,int); 76 public int lastIndexOf(int); 77 public int lastIndexOf(int,int); 78 public int lastIndexOf(java.lang.String); 79 public int lastIndexOf(java.lang.String,int); 80 public int length(); 81 public java.lang.CharSequence subSequence(int,int); 82 public java.lang.String concat(java.lang.String); 83 public java.lang.String replaceAll(java.lang.String,java.lang.String); 84 public java.lang.String replace(char,char); 85 public java.lang.String replaceFirst(java.lang.String,java.lang.String); 86 public java.lang.String[] split(java.lang.String); 87 public java.lang.String[] split(java.lang.String,int); 88 public java.lang.String substring(int); 89 public java.lang.String substring(int,int); 90 public java.lang.String toLowerCase(); 91 public java.lang.String toLowerCase(java.util.Locale); 92 public java.lang.String toString(); 93 public java.lang.String toUpperCase(); 94 public java.lang.String toUpperCase(java.util.Locale); 95 public java.lang.String trim(); 96} 97 98 99# Remove all invocations of StringBuffer methods without side effects 100# whose return values are not used. 101-assumenosideeffects public class java.lang.StringBuffer { 102 public java.lang.StringBuffer(); 103 public java.lang.StringBuffer(int); 104 public java.lang.StringBuffer(java.lang.String); 105 public java.lang.String toString(); 106 public char charAt(int); 107 public int capacity(); 108 public int indexOf(java.lang.String,int); 109 public int lastIndexOf(java.lang.String); 110 public int lastIndexOf(java.lang.String,int); 111 public int length(); 112 public java.lang.String substring(int); 113 public java.lang.String substring(int,int); 114} 115