- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 android
应用程序,它使用 okhttp
和 retrofit
连接到后端,以通过 api
获取数据从后端。登录过程将在后端占用大量数据。然而,一些用户遇到了 b.a.a.b
错误。 Android
术语中的 b.a.a.b
是什么,因为我可以被视为 Android 新手。图片如下
或者错误是
mulaiLogin() || ERROR: b.a.a.b: HTTP 504 Connection Timed Out
这是改造和 okhttp 构建器代码
final OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(timeout, TimeUnit.SECONDS)
.connectTimeout(timeout, TimeUnit.SECONDS)
.retryOnConnectionFailure(false)
.build();
retrofit = new Retrofit.Builder()
.baseUrl(BuildConfig.JariBaseURL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.client(okHttpClient)
.build();
虽然登录过程是这样的,但我使用的是rxjava
addSubscribe(apiStores.userLogin(body), new NetworkCallback<LoginResponse>() {
@Override
public void onSuccess(LoginResponse response) {
MyLocalDB.setAPILogTable(activity.getApplicationContext(), "Login", gson.toJson(body),
response.getCode(), response.getDesc(), MyMethods.GenerateRef(new Date()),
"-");
switch (response.getCode()) {....and so on
某些用户(现场团队)发生此错误。他们无法登录(完成API登录
),而大多数用户可以成功登录。
我尝试扩大timeout
大小并在okhttp
上设置retryOnConnectionFailure(false)
,但似乎并不能解决问题
编辑:因此在跟踪混淆后,b.a.a.b 是 Retrofit2.adapter.rxjava.HttpException
最佳答案
当您在发布版本上启用 minifyEnabled
时,Android 会使用名为 Proguard 的工具来混淆您的类。这使得攻击者在反编译后更难理解它们。 Proguard 获取你的类名、变量和其他内容并更改它们。例如,MyNiceClass 变成了 a 或看起来同样奇怪的东西。您可以使用app/build/outputs/mapping/appname/release 中的mapping.txt 来跟踪更改。
https://developer.android.com/studio/build/shrink-code
你有几个选择
1)使用您的mapping.txt 文件并尝试找出正在讨论的类(没什么乐趣)。
2) 尝试 re-build your stacktrace (如果你有的话):
3) 使用类似 Crashlytics 的工具(由 Firebase 所有)您可以在其中上传您的mapping.txt 文件,它将重新构建您的完整堆栈跟踪以便于阅读。
所以简短的回答是没有人真正知道 b.a.a.b 代表什么。
您的问题:
也就是说,您的应用程序正在经历超时,这看起来非常简单。您已经做了正确的事情,增加了超时延迟,但是在某些时候,延迟变得太长,用户无法等待。
在开始网络请求之前,您是否检查用户是否有互联网连接?
您提到现场团队中的用户,在稳定的 WiFi 连接上进行测试与在现场使用移动信号进行测试有很大的不同。您应该在非常慢的连接上对您的应用程序运行一些测试,看看它的性能如何。您可能需要考虑较小的数据包或优化服务器响应。
希望有帮助。
关于java - 如何解决 android b.a.a.b 超时错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54438878/
我是一名优秀的程序员,十分优秀!