Android 6上的Retrofit 2设置了零路径参数

时间:2018-02-07 13:49:35

标签: android kotlin retrofit2

我正在使用Retrofit 2库版本2.3.0,突然间它开始用零而不是实际数字替换整数路径参数。

我正在使用Kotlin(1.2.21),我的方法如下:

@GET("posts/{postId}")
fun getPosts(@Path("postId") postId: Long): Single<Post>

这应该可行但现在当我在Android 6上运行我的应用程序(设备和模拟器)时,postId路径参数始终为零,即调用posts/0。 Android 7和8都很好。 Retrofit和OkHttp版本没有变化,界面也没有改变。

我查看了构建的请求,OkHttpCall里面有args数组,其中一个值为Long,值为0.这仅适用于Android 6,其他人具有正确的值那里的价值。 ServiceMethod在界面中设置了正确的网址,并且ParameterHandler类型postId只有一个BuiltInConverter.ToStringConverter

App是multiDexed,不使用ProGuard。可能会发生什么?

1 个答案:

答案 0 :(得分:3)

这是由Instant Run引起的。在我禁用后,改造工作完美无缺。