Android 改装Gson序列化在三星S9设备上无法正常工作
使用改型2和定制Gson转换器,我在特定设备(三星Galaxy s9)的api端点处遇到了序列化问题。下面是我的Gson配置Android 改装Gson序列化在三星S9设备上无法正常工作,android,serialization,gson,retrofit,Android,Serialization,Gson,Retrofit,使用改型2和定制Gson转换器,我在特定设备(三星Galaxy s9)的api端点处遇到了序列化问题。下面是我的Gson配置 new Builder() .baseUrl(API_BASE_URL) .addConverterFactory(GsonConverterFactory.create(getGson())); public static Gson getGson() { return new GsonBuilder() .s
new Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create(getGson()));
public static Gson getGson() {
return new GsonBuilder()
.setDateFormat(GSON_DATE_FORMAT)
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.registerTypeAdapter(Long.class, new LongTypeAdapter())
.setLongSerializationPolicy( LongSerializationPolicy.STRING )
.create();
}
使用Sony Xperia premium进行测试时,对象会按其应有的方式到达api,例如:
{
client_id: '07cffbe0-6df9-4b08-a524-f19b265c17be',
country: 'xxxx',
email: 'xxxx',
first_name: 'xxxx',
last_name: 'xxxx',
....
}
但在三星Galaxy S9上,我得到:
{
a: '07cffbe0-6df9-4b08-a524-f19b265c17be',
b: 'xxxx',
c: 'xxxx',
d: 'xxxx',
e: 'xxxx',
....
}
为什么序列化会在不同的设备上更改?看起来其中一个设备上启用了proguard/模糊处理,而另一个设备上禁用了proguard/模糊处理,您确定在两个设备上使用相同的生成吗
有关模糊处理和GSON的问题,请查看此处:就是这样!三星有签署的发布版本,而另一个是调试版本。。。干杯,朋友,哈哈