Retrofit 2.4.0 with proguard

maybe because of other library work with retrofit like your downloader or parser.

important notice :

add rule to keep your model classes and subjects that work with parser like :

-keep class com.address_package.** { *; }

if you use okhttp or Okhttp3 with retrofit added below rules

note :and check your parser proguard rules too

LIBRARY: OkHttp

-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }

-dontwarn com.squareup.okhttp.**
-dontwarn okio.**

okhttp3

-keepattributes Signature
-keepattributes *Annotation*
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }

-dontwarn okhttp3.**

Your Proguard rules work for Retrofit, but they're also obfuscating the model classes that you use to serialize/deserialize your data. Their names are important as Retrofit/Gson matches them to do serializing/deserializing. Proguard turns them into gibberish like a and b so Retrofit/Gson cannot make sense of them.

Depending on your package setup, you need to add the following like amin mahmodi mentioned.

-keep class your.package.name.models.** { *; }