【发布时间】:2020-11-26 19:54:50
【问题描述】:
在我的项目中启用 Proguard 时出现以下错误:
com.fasterxml.jackson.databind.JsonMappingException:
No serializer found for class com.myapp.service.MyRequest and no properties discovered to create BeanSerializer
(to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)
当我禁用 proguard (minifyEnabled false) 时一切正常
build.gradle:
compileSdkVersion 26
minSdkVersion 19
targetSdkVersion 26
buildTypes {
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
proguard-rules.pro:
# Jackson
-keep @com.fasterxml.jackson.annotation.JsonIgnoreProperties class * { *; }
-keep class com.fasterxml.** { *; }
-keep class org.codehaus.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }
-keepclassmembers public final enum com.fasterxml.jackson.annotation.JsonAutoDetect$Visibility {
public static final com.fasterxml.jackson.annotation.JsonAutoDetect$Visibility *;
}
【问题讨论】: