title: Using Proguard with a runnable JAR file
body: <p>I am trying to create a runable JAR file using proguard. When I export the JAR using Eclipse everything works fine and I have a nice JAR file.</p>
  
  <p>To obfusicate I use the command line and the command</p>
  
  <pre><code>java -jar ${ANDROID_SDK}/lib/proguard.jar @proguard-project.txt
  </code></pre>
  
  <p>But then when I try to run the created JAR I get the response</p>
  
  <pre><code>no main manifest attribute
  </code></pre>
  
  <p>My proguard-project.txt is as follows</p>
  
  <pre><code>-injars      bin/classes
  -injars      libs
  -outjars     bin/classes_processed.jar
  -libraryjars proguard/android.jar
  
  -dontwarn java.**
  -keep class java.**
  
  -dontwarn javax.**
  -keep class javax.**
  
  -dontwarn android.**
  -keep class android.**
  
  -dontwarn com.sun.**
  -keep class com.sun.**
  
  -dontwarn java.awt.**
  -dontwarn java.beans.Beans
  -dontwarn javax.security.**
  -keep class javamail.** {*;}
  -keep class javax.mail.** {*;}
  -keep class javax.activation.** {*;}
  -keep class com.sun.mail.dsn.** {*;}
  -keep class com.sun.mail.handlers.** {*;}
  -keep class com.sun.mail.smtp.** {*;}
  -keep class com.sun.mail.util.** {*;}
  -keep class mailcap.** {*;}
  -keep class mimetypes.** {*;}
  -keep class myjava.awt.datatransfer.** {*;}
  -keep class org.apache.harmony.awt.** {*;}
  -keep class org.apache.harmony.misc.** {*;}
  
  -dontnote
  
  
  -dontpreverify
  -repackageclasses ''
  -allowaccessmodification
  -optimizations !code/simplification/arithmetic
  -keepattributes *Annotation*
  
  -keep public class com.app.main {
      public static void main(java.lang.String[]);
  }
  
  -keepclasseswithmembers class * {
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet);
  }
  
  -keepclasseswithmembers class * {
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet, int);
  }
  
  -keepclassmembers class * extends android.content.Context {
     public void *(android.view.View);
     public void *(android.view.MenuItem);
  }
  
  -keepclassmembers class * implements android.os.Parcelable {
      static ** CREATOR;
  }
  
  -keepclassmembers class **.R$* {
      public static &lt;fields&gt;;
  }
  
  -keepclassmembers class * {
      @android.webkit.JavascriptInterface &lt;methods&gt;;
  }
  </code></pre>
  
  <p>any help would be greatly appreciated </p>