改造不适用于发布版本的应用程序

时间:2018-04-18 12:08:42

标签: android android-gradle retrofit retrofit2

我在我的应用中使用Retrofit。一切都运行正常但是当我创建应用程序的发布版本时,一些调用无效。

问题是什么?我已经在我的gradle文件中禁用了minifyEnabled

修改 发现真正的问题: 我通过特定的API调用获取用户数据。我将这个映射到以下类:

String ID;
String user_login;
String user_nicename;
String user_email;
String display_name;

出于某种原因,除了ID之外,所有字段都被填充。当我不使用发布但调试时,ID字段会被填充。

3 个答案:

答案 0 :(得分:1)

在DTO所在的位置保持包装不变:

    public SedimentaryRock(int sampleNumber,int weight) {
           super(sampleNumber, weight);
           super.setDescription("sedimentary");
    }

答案 1 :(得分:1)

试试这个:

-dontnote okhttp3.**, okio.**, retrofit2.**
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }

如果上面的代码不起作用,那么像这样向模型类添加 @Keep 注释。

import androidx.annotation.Keep;

@Keep
public class Blog {

    private String id;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
}

答案 2 :(得分:0)

确保为改造提供了具体规则。 如果您已启用android:foreground="?android:attr/selectableItemBackground" android:clickable="true" ,那么

minifyEnabled=true文件中添加以下改进规则

proguard-rules.pro