应用服务器数据在调试模式下获取,但在发布模式下不起作用

时间:2018-10-26 07:07:31

标签: android

我正在从服务器获取数据,它在调试apk中工作正常,但是我正在尝试生成签名的apk,数据未从服务器获取数据。

有什么办法可以解决吗?

2 个答案:

答案 0 :(得分:0)

您需要为所有网络模型添加@Keep注释(如果您或您的库使用反射)。因为proguard混淆了签名apk中的所有类,并且Gson无法将JSON解析为您的模型。

编辑: 例如,您有一个要从json解析的类(NetworkResponse.java类):

@Keep
public class NetworkResponse {
   // fields of class...
}

答案 1 :(得分:0)

Proguard可能导致了该问题。请检查您的应用程序gradle文件中是否已启用它。

这些行使Proguard可以发布版本:

release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

如果是,那么您将需要保留一些字段。

查看此内容:https://developer.android.com/studio/build/shrink-code