title: Getting Warnings With Proguard (With External Libraries)
body: <p>I have enabled Proguard, and i'm trying to build the APK, and i'm getting a lot of warnings and don't know how to solve them .</p>
  
  <p>I'm using Retrofit, Jsoup and other stock libraries, I'm getting the following warnings : </p>
  
  <pre><code> Warning:okio.DeflaterSink: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
   Warning:okio.Okio: can't find referenced class java.nio.file.Files
   Warning:okio.Okio: can't find referenced class java.nio.file.Path
   Warning:okio.Okio: can't find referenced class java.nio.file.OpenOption
   Warning:okio.Okio: can't find referenced class java.nio.file.Path
   Warning:okio.Okio: can't find referenced class java.nio.file.OpenOption
   Warning:okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
   Warning:okio.Okio: can't find referenced class java.nio.file.Path
   Warning:okio.Okio: can't find referenced class java.nio.file.OpenOption
   Warning:okio.Okio: can't find referenced class java.nio.file.Path
   Warning:okio.Okio: can't find referenced class java.nio.file.OpenOption
   Warning:okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
   Warning:retrofit2.Platform$Java8: can't find referenced method 'boolean isDefault()' in library class java.lang.reflect.Method
   Warning:retrofit2.Platform$Java8: can't find referenced class java.lang.invoke.MethodHandles$Lookup
   Warning:retrofit2.Platform$Java8: can't find referenced class java.lang.invoke.MethodHandle
   Warning:retrofit2.Platform$Java8: can't find referenced class java.lang.invoke.MethodHandles
   Warning:retrofit2.Platform$Java8: can't find referenced class java.lang.invoke.MethodHandle
   Warning:retrofit2.Platform$Java8: can't find referenced class java.lang.invoke.MethodHandles$Lookup
   Warning:retrofit2.Platform$Java8: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
   Note: the configuration keeps the entry point 'android.support.v7.widget.FitWindowsLinearLayout { void setOnFitSystemWindowsListener(android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener); }', but not the descriptor class 'android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener'
   Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setAccessibilityDelegateCompat(android.support.v7.widget.RecyclerViewAccessibilityDelegate); }', but not the descriptor class 'android.support.v7.widget.RecyclerViewAccessibilityDelegate'
   Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setAdapter(android.support.v7.widget.RecyclerView$Adapter); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$Adapter'
   Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setRecyclerListener(android.support.v7.widget.RecyclerView$RecyclerListener); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$RecyclerListener'
   Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$LayoutManager'
   Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setRecycledViewPool(android.support.v7.widget.RecyclerView$RecycledViewPool); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$RecycledViewPool'
   Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setViewCacheExtension(android.support.v7.widget.RecyclerView$ViewCacheExtension); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$ViewCacheExtension'
   Warning:there were 22 unresolved references to classes or interfaces.
   Warning:there were 1 unresolved references to library class members.
   Warning:Exception while processing task java.io.IOException: Please correct the above warnings first.
  </code></pre>
  
  <p>Here's my proguard : </p>
  
  <pre><code> -keep class * implements android.os.Parcelable {
     public static final android.os.Parcelable$Creator *;
   }
  
   ##---------------Begin: proguard configuration for Gson  ----------
   # Gson uses generic type information stored in a class file when working with fields. Proguard
   # removes such information by default, so configure it to keep all of it.
   -keepattributes Signature
  
  
   # Gson specific classes
   -keep class com.abohani.tdroms.SharedPreferencesTools { *; }
   #-keep class com.google.gson.stream.** { *; }
  
  
   # Application classes that will be serialized/deserialized over Gson
   -keep class com.abohani.tdroms.** { *; }
  </code></pre>