android - 改造 Post 方法抛出错误
问题描述
我正在使用改造发出 POST 请求,它会引发致命的信号错误,但只有当我使用onResonse, onFailure
方法添加回调时才会发生这种情况,如果我调用.execute
方法而不是.enqueue
它可以正常工作,并且它会在到达回调方法之前抛出此错误。还发现了具有相同问题的类似帖子,这可能与我正在使用gradle:3.1.2
和改造的 gradle 版本有关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"
}
解决方案
所以似乎问题是由即时运行引起的,禁用即时运行解决了问题
推荐阅读
- selenium - 无法使用 Selenium 访问窗口的内容
- c++ - 填充指向返回结构的类获取函数的指针数组
- google-apps-script - Apps 脚本错误 - “执行失败:需要登录”
- javascript - 如何在“对象”的后代节点上获取键的值
- python - 为什么 `for t[1] in iterable` 的语法有效?
- javascript - 如何使用花括号中的参数访问反应函数中的事件?
- azure - 网络聊天频道 AZURE 的欢迎消息和图标消失
- reactjs - 通过渲染多个页面获得批准的 React 应用程序 AdSense
- json - 错误 + JSON +
- php - 在 ubuntu 18.04 中设置 php 时区