首页 文章

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

提问于
浏览
3

我正在使用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 回答

  • 3

    它是由Instant Run引起的 . 我禁用它后,改造工作完美 .

相关问题