【问题标题】:Android app fail http request after 5 min usage使用 5 分钟后,Android 应用程序失败 http 请求
【发布时间】:2021-02-09 12:43:59
【问题描述】:

我的用户说,5 分钟后,每个请求都失败了。但重新启动应用程序后,应用程序工作顺利。我搜索了所有内容,但没有发现此错误。

这是我的 OkHttpClient.Builder 初始化代码。

var builder = OkHttpClient.Builder().apply {
        connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
        readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
        writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
        certificatePinner(certificatePinner)
        authenticator(tokenAuthenticator)
    }

DEFAULT_TIMEOUT = 30

这是我的改造构建代码

return Retrofit.Builder().apply {
        baseUrl(urlConfigHelper.getBaseUrl())
        addCallAdapterFactory(RxJava2CallAdapterFactory.create())
        addConverterFactory(GsonConverterFactory.create(gson))
        client(okHttpClient)
    }.build()

小米 Redmi Note 7 安卓 10 设备

这个错误不是我所有的用户。只有极少数人看到这个错误。 感谢您的帮助。

【问题讨论】:

    标签: android retrofit httpclient


    【解决方案1】:

    只需在 AndroidManifest.xml 中添加这一行

    android:usesCleartextTraffic="true"
    

    【讨论】:

    • 感谢您的回复。它已经添加了,我认为这个标志只是帮助解决新的 android 安全规则的 http 和 https 安全问题。我的带有 http 和 prod 基本 url 的测试 api 也是 https。
    • 你需要测试它并检查你的 logcat 错误
    • 我希望,但我看不到日志消息。我的测试设备不会触发这个问题。我检查了所有 Crashlytics 消息,但找不到任何相关信息。
    猜你喜欢
    • 2019-11-06
    • 2018-01-19
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多