在 build.gradle 中 minifyEnabled true 之后

像下面

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

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

当我在 minifyEnabled true 时进行 api 调用时,我成功了,但一些参数值发生了变化,这与预期值不同。



当我在 **minifyEnabled false ** 进行 api 调用时,我得到了来自后端的实际值。

(即)我在 api 响应中得到了 isValidUser 参数,它是 bool 值
实际值为 isValidUser=true,这是预期的,但我得到的是 isValidUser=false。

帮我看看我的 build.gradle 文件有什么问题?

最佳答案

请准确指定哪个部分不工作,但通常它来自模型,因此在规则文件中将它们排除为:

# Models
-keepclassmembers class com.example.models.** {*;}

# GSON
-keepattributes Signature
-keepattributes *Annotation*
-dontwarn sun.misc.**
-keep class com.google.gson.examples.android.model.** { *; }
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer

关于android - 在 Debug模式下将 minifyEnabled 设置为 true 后,api 调用无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57143197/

10-11 20:22