我在应用程序中使用改造来调用http请求,并使用gson解析json对象。我在调试模式下正确获得了响应,但是在使用发布模式进行构建时,我的响应是.Rproj
,我的应用程序不再起作用
答案 0 :(得分:2)
一段时间后我找到了答案... 我将proguard用于发布模式,因此由于混淆,模型字段名称发生了更改,因此gson无法解析http响应,防止此问题的最佳方法是在混淆之后可以解析的字段中使用@SerializedName(“ field_name”)批注。
答案 1 :(得分:2)
可能您已为发布模式启用了proguard。 检查您的应用gradle版本,并查看是否启用了minify。如果禁用它,您的代码将不会变得晦涩难懂,并且发行版本也将不再有任何问题。
如果您确实希望混淆代码,这对确保应用程序的安全性是有利的,那么您必须为应用程序中包含的每个库查找保护规则。然后,您必须在Proguard Rules文件中添加这些规则。另外,您还必须避免混淆POJO类。
大多数库的通用保护规则可以在@jemshit创建的此文件中找到
https://gist.github.com/jemshit/767ab25a9670eb0083bafa65f8d786bb