Мой интерфейс API содержит API:
public interface AwesomeClient {
@Headers({"Content-Type: application/json"})
@POST("/auth/token/")
Single<Response<ResponseLogin>> postLogin(@Body ReqLoginData reqLoginData);
}
но когда я проверяю его, я вижу, что proguard заменил имена полей на "a, b, c, d, e":
07-01 11:19:47.325 10724-11101/com.my.app.stg D/OkHttp: --> POST https://staging.awesome.com/auth/token/
07-01 11:19:47.326 10724-11101/com.my.app.stg D/OkHttp: Content-Type: application/json
Content-Length: 271
Api-Key: 5e75b4cc45168968e03921b08b7b1099592a0432
User-Agent: Awesome/986 CFNetwork/808.1.4 Darwin/16.1.0
{"a":"3ff5e027308d409488801cacaf484c40@awesome.com"
"b":"1530198979882",
"c":"password",
"d":"PmMwPNqSmbGy6CrOL94yqxMoZEClZEDjBbaxmPze",
"e":"B4zCwVQLhHlMevbSgTCW6HhNjQVZP3qzF2Yg1XEDgG1KVRa3fhhe3ClwBllizFNI8QKA5xUeQCKLbBpyMf7tco8kW2zDJK1g9EcenNXavTva1e80VmUFrUgrk6oORhSo"}
У меня уже есть следующие правила для модернизации:
# Retrofit 2.X
## https://square.github.io/retrofit/ ##
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keepclasseswithmembers class * {
@retrofit2.http.* <methods>;
}
и для ОК:
# okHttp3
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**
# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*
# OkHttp platform used only on JVM and when Conscrypt dependency is available.
-dontwarn okhttp3.internal.platform.ConscryptPlatform
что мне не хватает?