我正在通过改造发出POST请求并且它会引发致命的信号错误,但只有当我使用onResonse, onFailure
方法添加回调时,如果我调用.execute
方法.enqueue
它才有效没有问题,它会在它到达回调方法之前抛出此错误。同样发现类似的帖子有同样的问题,它可能与gradle版本有关,我正在使用gradle:3.1.2
并改进retrofit:2.4.0
错误:
Fatal signal 11 (SIGSEGV), code 1, fault addr 0x3ed6191f0 in tid 5897
发布方法:
@FormUrlEncoded
@POST("url")
fun login(@Field("username") username: String, @Field("password") password: String): Call<LoginResponse>
排队回调:
override fun login(email: String, password: String, callback: LogInDataSource.LogInCallback) {
loginService.login(email, password).enqueue(object : Callback<LoginResponse>{
override fun onFailure(call: Call<LoginResponse>?, t: Throwable?) {
callback.onLoginFailed()
}
override fun onResponse(call: Call<LoginResponse>?, response: Response<LoginResponse>?) {
if (response?.body() != null){
callback.onLoginSuccess(response.body()!!)
}else{
callback.onLoginFailed()
}
}
})
}
LoginResponse数据类:
data class LoginResponse(var token: String = "")
响应:
{
"token": "adasdasdfdsf",
"user_email": "asdasd@gmail.com",
"user_nicename": "asdasdgmail-com",
"user_display_name": "asdasd@gmail.com"
}
答案 0 :(得分:0)
所以似乎问题是由即时运行引起的,禁用即时运行解决了问题