android网络调用不在发布版本中工作

时间:2015-09-17 14:56:52

标签: android network-programming

我终于准备好部署我的应用程序的第一个版本,但经过测试,我无法执行任何需要网络访问的任务。 它在调试模式下工作得很好,据我所知,请求被发送到正确的URL但响应总是为空(消息:空状态:0)。

该项目使用gradle和proguard,所以我已经添加了它:

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

此时系统警告我一些不合理的类引用,所以我将这些行添加到proguard_rules.pro文件中:

-dontwarn com.fasterxml.**
-dontwarn com.malinskiy.superrecyclerview.**
-dontwarn com.octo.android.robospice.**
-dontwarn com.squareup.**
-dontwarn io.realm.processor.**
-dontwarn org.joda.time.**
-dontwarn org.springframework.http.**

-keep class com.fasterxml.** { *; }
-keep class com.malinskiy.superrecyclerview.** { *; }
-keep class com.octo.android.robospice.** { *; }
-keep class com.squareup.** { *; }
-keep class io.realm.processor.** { *; }
-keep class org.joda.time.** { *; }
-keep class org.springframework.http.** { *; }

构建成功并且应用程序运行正常,但是当我尝试执行需要网络访问的操作时,它会失败。

虽然应用程序没有崩溃(错误处理ftw),但它确实意味着网络响应侦听器收到了空响应。

知道为什么会这样吗?

更新:它似乎是由缩小过程(proguard)引起的。所以也许我应该开始想知道为什么我一直没有找到那些"类引用未找到"警告...

如果我将minifyEnabled设置为false,则应用程序正常工作。

0 个答案:

没有答案