title: Proguard giving "Warning: org.msgpack.*"
body: <p>Using Eclipse to export my project, I get the following warnings:</p>
  <pre><code>[2013-08-20 10:45:24 - MyProj] Proguard returned with error code 1. See console
  [2013-08-20 10:45:24 - MyProj] Note: there were 3023 duplicate class definitions.
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BeansBuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BeansBuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BeansBuildContext: can't find referenced class javassist.CtNewConstructor
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BeansBuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BeansBuildContext: can't find referenced class javassist.CannotCompileException
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BeansBuildContext: can't find referenced class javassist.NotFoundException
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BeansBuildContext: can't find referenced class javassist.CtNewConstructor
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BeansBuildContext: can't find referenced class javassist.CtConstructor
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtNewMethod
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CannotCompileException
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.NotFoundException
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtNewMethod
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtMethod
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.BuildContext: can't find referenced class javassist.CtMethod
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.DefaultBuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.DefaultBuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.DefaultBuildContext: can't find referenced class javassist.CtNewConstructor
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.DefaultBuildContext: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.DefaultBuildContext: can't find referenced class javassist.CannotCompileException
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.DefaultBuildContext: can't find referenced class javassist.NotFoundException
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.DefaultBuildContext: can't find referenced class javassist.CtNewConstructor
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.DefaultBuildContext: can't find referenced class javassist.CtConstructor
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.ClassPool
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.ClassPool
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.ClassPool
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.LoaderClassPath
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.LoaderClassPath
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.ClassPool
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.ClassPool
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.ClassPool
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.ClassPool
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.NotFoundException
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.ClassPool
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.template.builder.JavassistTemplateBuilder: can't find referenced class javassist.CtClass
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.ToolProvider
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.DiagnosticCollector
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.DiagnosticCollector
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaCompiler
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.StandardLocation
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaFileManager
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaFileObject
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaFileObject
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaFileObject$Kind
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaCompiler
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaFileManager
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.ToolProvider
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaCompiler
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.StandardLocation
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaFileManager
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaFileManager$Location
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaFileObject
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaCompiler
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaFileManager
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler: can't find referenced class javax.tools.JavaFileObject$Kind
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler$1: can't find referenced class javax.tools.JavaFileObject$Kind
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler$1: can't find referenced class javax.tools.JavaFileObject$Kind
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler$1: can't find referenced class javax.tools.JavaFileObject
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.TemplatePrecompiler$1: can't find referenced class javax.tools.JavaFileObject$Kind
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.json.JSONUnpacker: can't find referenced class org.json.simple.parser.JSONParser
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.json.JSONUnpacker: can't find referenced class org.json.simple.parser.JSONParser
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.json.JSONUnpacker: can't find referenced class org.json.simple.parser.JSONParser
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.json.JSONUnpacker: can't find referenced class org.json.simple.parser.ParseException
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.json.JSONUnpacker: can't find referenced class org.json.simple.parser.ParseException
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.json.JSONUnpacker: can't find referenced class org.json.simple.parser.JSONParser
  [2013-08-20 10:45:24 - MyProj] Warning: org.msgpack.util.json.JSONUnpacker: can't find referenced class org.json.simple.parser.ParseException
  [2013-08-20 10:45:24 - MyProj]       You should check if you need to specify additional program jars.
  [2013-08-20 10:45:24 - MyProj] Warning: there were 81 unresolved references to classes or interfaces.
  [2013-08-20 10:45:24 - MyProj]          You may need to specify additional library jars (using '-libraryjars').
  [2013-08-20 10:45:24 - MyProj] java.io.IOException: Please correct the above warnings first.
  [2013-08-20 10:45:24 - MyProj]  at proguard.Initializer.execute(Initializer.java:321)
  [2013-08-20 10:45:24 - MyProj]  at proguard.ProGuard.initialize(ProGuard.java:211)
  [2013-08-20 10:45:24 - MyProj]  at proguard.ProGuard.execute(ProGuard.java:86)
  [2013-08-20 10:45:24 - MyProj]  at proguard.ProGuard.main(ProGuard.java:492)
  </code></pre>
  <p>project.properties:</p>
  <pre><code># To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
  proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-myproject.txt
  
  # Project target.
  target=Google Inc.:Google APIs:17
  android.library.reference.1=../../../android/downloaded/JakeWharton-ActionBarSherlock-e5c2d1c/library
  android.library.reference.2=../../../android/android-sdk-macosx/extras/google/google_play_services/libproject/google-play-services_lib
  </code></pre>
  <p>proguard-myproject.txt:</p>
  <pre><code># To enable ProGuard in your project, edit project.properties
  # to define the proguard.config property as described in that file.
  #
  # Add project specific ProGuard rules here.
  # By default, the flags in this file are appended to flags specified
  # in ${sdk.dir}/tools/proguard/proguard-android.txt
  # You can edit the include path and order by changing the ProGuard
  # include property in project.properties.
  #
  # For more details, see
  #   http://developer.android.com/guide/developing/tools/proguard.html
  
  # Add any project specific keep options here:
  -injars      bin/classes
  -injars      libs
  -outjars     bin/classes-processed.jar
  -libraryjars /Users/tester/Documents/workspace/android_testing/MyProj/libs/MixpanelAPI.jar
  -libraryjars /Users/tester/Documents/workspace/android_testing/MyProj/libs/Parse-1.3.2.jar      
  -libraryjars /Users/tester/Documents/workspace/android_testing/MyProj/libs/TestFlightLib.jar
  -libraryjars /Users/tester/Documents/workspace/android_testing/MyProj/libs/android-support-v13.jar
  -libraryjars /Users/tester/Documents/android/android-sdk-macosx/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar
  
  -dontpreverify
  -repackageclasses ''
  -allowaccessmodification
  -optimizations !code/simplification/arithmetic
  -keepattributes *Annotation*
  
  -keep public class * extends android.app.Activity
  -keep public class * extends android.app.Application
  -keep public class * extends android.app.Service
  -keep public class * extends android.content.BroadcastReceiver
  -keep public class * extends android.content.ContentProvider
  
  -keep public class * extends android.view.View {
      public &lt;init&gt;(android.content.Context);
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet);
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet, int);
      public void set*(...);
  }
  
  -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 android.os.Parcelable$Creator CREATOR;
  }
  
  -keepclassmembers class **.R$* {
      public static &lt;fields&gt;;
  }
  
  -keepclassmembers class * {
      @android.webkit.JavascriptInterface &lt;methods&gt;;
  }
  
  -keep class android.support.v4.app.** { *; }
  -keep interface android.support.v4.app.** { *; }
  -keep class com.actionbarsherlock.** { *; }
  -keep interface com.actionbarsherlock.** { *; }
  -keep class com.parse.** { *; }
  -keep class com.mixpanel.** { *; }
  -keep class com.testflightapp.** { *; }
  -keep class org.json.simple.** { *; }
  
  -dontwarn com.facebook.**
  -dontwarn android.support.**
  
  # If your project uses WebView with JS, uncomment the following
  # and specify the fully qualified class name to the JavaScript interface
  # class:
  #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
  #   public *;
  #}
  </code></pre>
  <p>Some third party things I am using are mixpanel.com, parse.com, ActionBarSherlock (<a href="http://actionbarsherlock.com/" rel="nofollow noreferrer">http://actionbarsherlock.com/</a>), and <a href="https://testflightapp.com/" rel="nofollow noreferrer">TestFlightApp.com</a>.</p>
  <p>I did try to put in the following into my proguard-myproject.txt:</p>
  <pre><code>-dontwarn javassist.**
  -dontwarn javax.tools.**
  -dontwarn json.simple.parser.**
  </code></pre>
  <p>However, if I put those in my app crashes immediately after I launch the app, so I am guessing I need to clean up the warnings by including libraries properly.</p>
  <h3>Question:</h3>
  <p>I was wondering what I needed to include in my proguard-myproject.txt file to get rid of these warnings and be able to launch my app on my phone without it crashing immediately after I launch the app. If I run the app from eclipse in just the normal Run.. or Debug option, the app works fine so I am guessing somehow Proguard is removing some classes I need.</p>
  <p>I do also have the dump.txt, mapping.txt, seeds.txt, and usage.txt if anyone needs to see them, but they are fairly long so I thought no need to paste here for now.</p>
  <h2>Solved!</h2>
  <p>thanks to @Eric Lafortune and looking <a href="http://developer.android.com/tools/help/proguard.html#enabling" rel="nofollow noreferrer">proguard documentation</a></p>
  <p>Main problem was just adding this:</p>
  <pre><code>-keep class com.myapp.** { *; }
  -keep interface com.myapp.** { *; }
  </code></pre>
  <p>where com.myapp.** is the package for my app</p>
  <p>proguard-myproject.txt:</p>
  <pre><code>-injars      bin/classes
  -injars      libs
  -outjars     bin/classes-processed.jar
  -libraryjars libs/MixpanelAPI.jar
  -libraryjars libs/Parse-1.3.2.jar       
  -libraryjars libs/TestFlightLib.jar
  -libraryjars libs/android-support-v13.jar
  -libraryjars libs/KiipSDK.jar
  -libraryjars /Users/tester/Documents/android/android-sdk-macosx/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar
  
  -dontpreverify
  -repackageclasses ''
  -allowaccessmodification
  -optimizations !code/simplification/arithmetic
  -keepattributes *Annotation*
  
  -keep public class * extends android.app.Activity
  -keep public class * extends android.app.Application
  -keep public class * extends android.app.Service
  -keep public class * extends android.content.BroadcastReceiver
  -keep public class * extends android.content.ContentProvider
  
  -keep class * extends java.util.ListResourceBundle {
      protected Object[][] getContents();
  }
  
  -keep public class * extends android.view.View {
      public &lt;init&gt;(android.content.Context);
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet);
      public &lt;init&gt;(android.content.Context, android.util.AttributeSet, int);
      public void set*(...);
  }
  
  -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 android.os.Parcelable$Creator CREATOR;
  }
  
  -keepclassmembers class **.R$* {
      public static &lt;fields&gt;;
  }
  
  -keepclassmembers class * {
      @android.webkit.JavascriptInterface &lt;methods&gt;;
  }
  
  -keep class android.support.v4.** { *; }
  -keep interface android.support.v4.** { *; }
  #-keep class android.support.v4.app.** { *; }
  #-keep interface android.support.v4.app.** { *; }
  -keep class com.actionbarsherlock.** { *; }
  -keep interface com.actionbarsherlock.** { *; }
  -keep class com.parse.** { *; }
  -keep class com.mixpanel.** { *; }
  -keep class com.testflightapp.** { *; }
  -keep class org.json.simple.** { *; }
  -keep class com.myapp.** { *; }
  -keep interface com.myapp.** { *; }
  
  -dontwarn com.facebook.**
  -dontwarn android.support.**
  -dontwarn org.msgpack.**
  </code></pre>