我正在使用Retrofit 2库版本2.3.0,突然间它开始用零而不是实际的数字替换整数路径参数 .
我正在使用Kotlin(1.2.21),我有一个方法,如:
@GET("posts/{postId}")
fun getPosts(@Path("postId") postId: Long): Single<Post>
这应该工作但现在当我在Android 6上运行我的应用程序(设备和模拟器)时, postId
path参数始终为零,即调用 posts/0
. Android 7和8都很好 . Retrofit和OkHttp版本没有变化,界面也没有改变 .
我查看了构建的请求, OkHttpCall
里面有 args
数组,其中一个值为 Long
,值为0.这仅适用于Android 6,其他人在那里有正确的值 . ServiceMethod
在界面中设置了正确的URL,并且对于 BuiltInConverter.ToStringConverter
类型的 postId
,它有一个 ParameterHandler
.
应用程序是multiDexed,不使用ProGuard . 可能会发生什么?
1 回答
它是由Instant Run引起的 . 我禁用它后,改造工作完美 .